“#This Row”在使用VBA-BUGselectExcel表格的当前行中的其他单元格时会出现运行时错误?
我有:
- Excel 2013
- 一张名为“TableA”
- 有三列 (列标题是“位”,“字节”和“Kilo”)
- 和几行随机数据
macros启动时,任何给定行中的单个单元格可能被选中,我想要返回相同行中相应单元格的值,但在列“位”中。
Excel具有引用表格单元格的function
TableA[[#This Row], [Bit]]
“位”是一个列,这将完美的把戏。 但是,它似乎并没有在VBA中工作! 比如这个:
ActiveSheet.Range("TableA[[#This Row], [Bit]]").Select
导致“运行时错误”1004“:应用程序定义或对象定义的错误”
另外,我认为这样的事情可能会起作用:
ActiveSheet.Cells("TableA[Bit]", ActiveCell.Row).Select
但也失败了, “运行时错误13:types不匹配”
你知道另一种简单的方法来通过引用想要的列标题/标题加上当前选中的单元格的行来select表格中的单元吗?
谢谢你的帮助!
尝试这个
[TableA[@Bit]].Select
或这个
ActiveSheet.Cells(ActiveCell.Row, Range("TableA[Bit]").Column).Select
我想你需要这个..
Sub TableA() Dim oSh As Worksheet Set oSh = ActiveSheet With oSh.ListObjects("TableA") 'Select entire table .Range.Select 'Select just the data of the entire table .DataBodyRange.Select 'Select third column .ListColumns(3).Range.Select 'Select only data of first column .ListColumns(1).DataBodyRange.Select 'Select just row 4 (header row doesn't count!) .ListRows(4).Range.Select End With End Sub