2011-11-24 204 views
0

我對Range()的工作方式感到困惑。Excel 2011 VBA - 設置範圍

我有以下代碼

Option Explicit 
Option Base 1 

Sub ShowRange() 
    Dim rng As Range 
    Set rng = WorkSheets(1).Range("B:D") 
End Sub 

我注意到,RNG返回d爲列數4.如果將其送回作爲列3號?

Bregs, Yakult121

+1

我相信Excel定義了基於整個工作表的範圍,所以你的範圍B:D意味着2-4,因此列A將是1. – xQbert

+0

嗨xQbert,好吧,我明白了。我習慣了OpenOffice的Range對象。我認爲工作表將被分區,而rng將只有三列,即B,C,D – Poliquin

回答

4

Column屬性是該小區的全球性的,片材寬列號。

如果rng = WorkSheets(1).Range("B:D"),則D列爲rng.Columns(3),因爲D是rng中的第三列。但是rng.Columns(3).Column4

+1

+1很好解釋。 – Reafidy