Dim r as Range
Set r = Range("C2:D3")
Dim r1 as Range, r2 as Range
Set r1 = r.EntireColumn
Set r2 = r.Columns
这两个范围不都代表范围“C:D”吗?两者有什么区别?
最佳答案
否,EntireColumn 代表范围“C:D”,Columns 代表该范围内单元格的列。如果你想看看它的实际效果,这里有一个小子展示了这一点。在整个范围 C2:D3 中放置非零值,然后在 C5 和 D5 中放置一些非零值。 C5 和 D5 中的值不会随着 Columns (range1) 的变化而改变,现在替换 EntireColumn (range2) 并看看会发生什么。
Sub Test()
Dim range1 As Range
Dim range2 As Range
Set range1 = Range("C2:D3").Columns
Set range2 = Range("C2:D3").EntireColumn
range1.Value = 0
End Sub
此外,Columns
已建立索引,因此您可以引用第一列,例如:
r.Columns(1)
关于excel - Range.Columns 和 Range.EntireColumn 之间有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3058062/