我在活动电子表格中有以下数据:
A B
--- ---
a a
b
c
d
e其中B1是当前活动的单元格。
“调试”窗格中的以下代码:
Dim rng As Range
Set rng = ActiveSheet.Range("A1:A5").RowDifferences(ActiveCell)失败,出现以下错误:
运行时错误'1004':无法获取Range类的RowDifference属性
RowDifferences 属性的正确用法是什么?
更新
当对上述数据使用ColumnDifferences时,我得到了相同的错误。
Set rng = ActiveSheet.Columns("A").ColumnDifferences(ActiveCell)即使我转置了数据:
A B C D E
--- --- --- --- ---
a b c d e
a并将A2设置为活动单元格,我得到了相同的错误:
Set rng = ActiveSheet.Rows(1).RowDifferences(ActiveCell)发布于 2018-07-17 07:36:47
ColumnDifferences,因为Range("A1:A5")在本例中是一个列。RowDifferences或ColumnDifferences,则比较单元格必须位于您要比较的D10中,例如使用D11而不是D11为了进一步演示,我在B1:B5中添加了其他值。使用A1作为比较单元,下面是RowDifferences和ColumnDifferences的结果(Select在结果中)。
行差异
Sub TestRowDiff()
Dim rng As Range
With Sheets("Sheet2")
Set rng = .Range("A1:B5").RowDifferences(.Range("A1"))
End With
rng.Select
End Sub

此处选择了B1:B5 -B1:B5检查第1- 5行,逐行比较列A和列B中的单元格。字母"f“与"a”不同,"g“与"b”不同,以此类推。
列差异
Sub TestColDiff()
Dim rng As Range
With Sheets("Sheet2")
Set rng = .Range("A1:B5").ColumnDifferences(.Range("A1"))
End With
rng.Select
End Sub

这里选择A2:B5是因为"b“到"e”不同于"a",并且"g“到"j”不同于"f“。
发布于 2018-07-17 07:03:10
正如@BigBen在评论中所说,你可能会在这里寻找ColumnDifferences。
Here是用于RowDifferences的MSDN文档。
这是为ColumnDifferences准备的
你应该会得到类似这样的结果:
Set rng = ActiveSheet.Columns("A").ColumnDifferences(ActiveCell)https://stackoverflow.com/questions/51370935
复制相似问题