Excel單元格引用、區(qū)域的引用,在VBA編程中,有著重要的意義。掌握單元格、區(qū)域的引用方法,可方便我們對(duì)數(shù)據(jù)進(jìn)行相應(yīng)的處理。下面,是單元格、區(qū)域的引用方法之總結(jié),希望對(duì)您有幫助。
接上篇…
⑦相對(duì)于其他單元格來(lái)引用單元格
處理相對(duì)于另一個(gè)單元格的某一單元格的常用方法是使用 Offset 屬性。下例中,將位于活動(dòng)工作表上活動(dòng)單元格下一行和右邊三列的單元格的內(nèi)容設(shè)置為雙下劃線(xiàn)格式。
ActiveCell.Offset(1, 3).Font.Underline = xlDouble
注意 可錄制使用 Offset 屬性(而不是絕對(duì)引用)的宏。在“工具”菜單上,指向“宏”,再單擊“錄制新宏”,然后單擊“確定”,再單擊錄制宏工具欄上的“相對(duì)引用”按鈕。
若要在單元格區(qū)域中循環(huán),請(qǐng)?jiān)谘h(huán)中將變量與 Cells 屬性一起使用。下例以 5 為步長(zhǎng),用 5 到 100 之間的值填充第三列的前 20 個(gè)單元格。變量 counter 用作 Cells 屬性的行號(hào)。
Dim counter As Integer
For counter = 1 To 20
Worksheets("Sheet1").Cells(counter, 3).Value = counter * 5
Next counter
⑧用Range對(duì)象引用單元格
如果將對(duì)象變量設(shè)置為 Range 對(duì)象,即可用變量名方便地操作單元格區(qū)域。
下述過(guò)程創(chuàng)建了對(duì)象變量 myRange,然后將活動(dòng)工作簿中 Sheet1 上的單元格區(qū)域 A1:D5 賦予該變量。隨后的語(yǔ)句用該變量代替該區(qū)域?qū)ο?,以修改該區(qū)域的屬性。
Dim myRange As Range
Set myRange = Worksheets("Sheet1").Range("A1:D5")
myRange.Formula = "=RAND()"
myRange.Font.Bold = True
⑨引用工作表上的所有單元格
如果對(duì)工作表應(yīng)用 Cells 屬性時(shí)不指定編號(hào),該屬性將返回代表工作表上所有單元格的 Range 對(duì)象。下述 Sub 過(guò)程清除活動(dòng)工作簿中 Sheet1 上的所有單元格的內(nèi)容。
Worksheets("Sheet1").Cells.ClearContents
⑩引用多個(gè)單元格區(qū)域
使用適當(dāng)?shù)姆椒梢院苋菀椎赝瑫r(shí)引用多個(gè)單元格區(qū)域??捎?Range 和 Union 方法引用任意組合的單元格區(qū)域;用 Areas 屬性可引用工作表上選定的一組單元格區(qū)域。
使用 Range 屬性
通過(guò)在兩個(gè)或多個(gè)引用之間放置逗號(hào),可使用 Range 屬性來(lái)引用多個(gè)單元格區(qū)域。下例清除了 Sheet1 上三個(gè)單元格區(qū)域的內(nèi)容。
Worksheets("Sheet1").Range("C5:D9,G9:H16,B14:D18"). _
ClearContents
命名區(qū)域使得用 Range 屬性處理多個(gè)單元格區(qū)域更為容易。下例可在三個(gè)命名區(qū)域處于同一工作表時(shí)運(yùn)行。
Range("MyRange, YourRange, HisRange").ClearContents
使用 Union 方法
用 Union 方法可將多個(gè)單元格區(qū)域組合到一個(gè) Range 對(duì)象中。下例創(chuàng)建了名為 myMultipleRange 的 Range 對(duì)象,并將其定義為單元格區(qū)域 A1:B2 和 C3:D4 的組合,然后將該組合區(qū)域的字體設(shè)置為加粗。
Dim r1, r2, myMultipleRange As Range
Set r1 = Sheets("Sheet1").Range("A1:B2")
Set r2 = Sheets("Sheet1").Range("C3:D4")
Set myMultipleRange = Union(r1, r2)
myMultipleRange.Font.Bold = True
使用 Areas 屬性
可用 Areas 屬性引用選定的單元格區(qū)域或多塊選定區(qū)域中的區(qū)域集合。下述過(guò)程計(jì)算選定區(qū)域中的塊數(shù)目,如果有多個(gè)塊,就顯示一則警告消息。
If Selection.Areas.Count > 1 Then
MsgBox "Cannot do this to a multiple selection."
End If
聯(lián)系客服