Excel Range.Columns和Range.EntireColumn之间有什么区别

Excel Range.Columns和Range.EntireColumn之间有什么区别,excel,vba,Excel,Vba,这两个范围不都代表“C:D”范围吗?两者之间的区别是什么?否,EntireClumn表示范围“C:D”,Columns表示该范围内单元格的列。如果你想看到这一点的行动,这里有一个小潜艇显示这一点。在整个范围C2:D3中放置非零值,然后在C5和D5中放置一些。C5和D5中的值不会随列(range1)而改变,现在替换EntireClumn(range2),看看会发生什么 Dim r as Range Set r = Range("C2:D3") Dim r1 as Range, r2 as Ran

这两个范围不都代表“C:D”范围吗?两者之间的区别是什么?

否,EntireClumn表示范围“C:D”,Columns表示该范围内单元格的列。如果你想看到这一点的行动,这里有一个小潜艇显示这一点。在整个范围C2:D3中放置非零值,然后在C5和D5中放置一些。C5和D5中的值不会随列(range1)而改变,现在替换EntireClumn(range2),看看会发生什么

Dim r as Range
Set r = Range("C2:D3")

Dim r1 as Range, r2 as Range
Set r1 = r.EntireColumn
Set r2 = r.Columns
此外,
已编制索引,因此您可以引用第一列,如:

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

所以范围(“C2:D3”)和范围(“C2:D3”)。列表示完全相同的单元格集?所以“范围”对象不能简单地由它所包含的一组单元格来定义?(作为范围(“C2:D3”)和范围(“C2:D3”)。列包含相同的单元格集,但不同)可以通过多种方式定义范围。您可以在代码编辑器中查看对象的详细信息。要做到这一点,可以将代码放在子代码中,在末尾设置一个断点,然后在“监视”窗口中为该范围设置一个监视。然后你可以看看所有血淋淋的细节。回答得好。文档没有明确说明
。我认为命名
令人困惑,而且毫无用处
entireclumn
主要是一个人所需要的。
r.Columns(1)