VBA 中的單元格選擇
- 在 VBA 中選擇單個單元格
- 在 VBA 中選擇一系列單元格
- 在 VBA 中選擇一系列不連續的單元格
- 在 VBA 中選擇工作表中的所有單元格
- 在 VBA 中選擇一行
- 在 VBA 中選擇一列
- 在 VBA 中選擇列中的最後一個非空單元格
- 在 VBA 中選擇一行中的最後一個非空單元格
- 在 VBA 中選擇當前區域
- 在 VBA 中選擇相對於另一個單元格的單元格
- 在 VBA 中選擇一個命名範圍
- 在 VBA 中選擇另一個工作表上的單元格
-
在 VBA 中操作
Selection
物件
在接下來的這篇文章中,我們將討論 VBA 中的單元格選擇以及如何在 VBA 中選擇單元格範圍。
VBA 允許我們選擇工作表中的一個單元格、單元格範圍或所有單元格。你可以使用 Selection
物件操作選定的單元格或內容。
在 VBA 中選擇單個單元格
我們可以使用 Select
方法在工作表中選擇一個單元格。以下程式碼將選擇 ActiveWorksheet
中的單元格 B2
。
# VBA
Range("B2").Select
或者我們可以使用另一種方法,如下所示。
# vba
Cells(2, 2).Select
兩個程式碼的輸出如下所示。
在 VBA 中選擇一系列單元格
我們可以使用 Select
技術和 Range
物件在工作表中選擇一組單元格。以下程式碼將選擇 A1:B5
,如下所示。
# VBA
Range("A1:B5").Select
輸出:
在 VBA 中選擇一系列不連續的單元格
在 VBA 中,你可以通過使用逗號分隔單元格或範圍來選擇不相鄰的單元格或範圍。以下程式碼將允許你選擇單元格 B1
、D1
和 F1
,如下所示。
# VBA
Range("B1, D1, F1").Select
輸出:
我們還可以使用 VBA 選擇一組不連續的範圍。以下程式碼將選擇 A1:A5
和 B5:B8
,如下所示。
# VBA
Range("A1:A5, B5:B8").Select
輸出:
在 VBA 中選擇工作表中的所有單元格
我們可以在 VBA 的幫助下選擇工作表中的所有單元格。下面的程式碼將選擇工作表中的所有單元格。
# VBA
Cells.Select
輸出:
在 VBA 中選擇一行
我們可以藉助 Row
物件和我們要選擇的行的索引號來選擇工作表中的特定行。下面的程式碼將選擇我們工作表中的第一行。
# VBA
Rows(2).Select
輸出:
在 VBA 中選擇一列
我們可以藉助 Column
物件和我們要選擇的列的索引號來選擇工作表中的特定列。以下程式碼將在下面的工作表中選擇 B 列。
# VBA
Columns(2).Select
輸出:
在 VBA 中選擇列中的最後一個非空單元格
我們在單元格 B1
、B2
、B3
和 B4
中有資料,我們想要選擇最後一個非空白單元格,它可能是列中的單元格 B4
。我們可以使用 VBA 和 Range.End
方法來執行此操作。
Range.End
方法可以採用這四個選項:xlToLeft
、xlToRight
、xlUp
和 xlDown
。
下面的程式碼將選擇最後一個非空白單元格,在這種情況下為 B4
,如果 B1
是活動單元格,如下所示。
# VBA
Range("B1").End(xlDown).Select
輸出:
在 VBA 中選擇一行中的最後一個非空單元格
假設我們在單元格 A2
、B2
、C2
、D2
和 E2
中有資料,我們想要選擇最後一個非空白單元格,它可能是該行中的單元格 E2
.我們可以使用 VBA 和 Range.End
方法。
下面的程式碼將選擇最後一個非空白單元格,在這種情況下為 E2
,如果 A2
是活動單元格,如下所示。
# VBA
Range("A2").End(xlToRight).Select
輸出:
在 VBA 中選擇當前區域
我們可以使用 Range
物件的 CurrentRegion
屬性來選擇給定輸入單元格周圍的空白和非空白單元格的矩形範圍。如果我們在單元格 A2
、B2
和 C2
中有資料,以下程式碼將選擇單元格 A2
周圍的這個區域:
# VBA
Range("A2").CurrentRegion.Select
輸出:
在 VBA 中選擇相對於另一個單元格的單元格
我們可以使用 Offset
屬性來選擇一個相對於另一個單元格的單元格。下一個程式碼向我們展示瞭如何選擇單元格 C3
、靠近單元格 A1
的兩行和兩列。
# VBA
Range("A1").Offset(2, 2).Select
輸出:
在 VBA 中選擇一個命名範圍
我們也可以選擇命名範圍。假設我們將單元格命名為 B1:B4
程式碼。
我們可以使用下面的程式碼來選擇這個命名範圍,如下圖。
# VBA
Range("Code").Select
輸出:
在 VBA 中選擇另一個工作表上的單元格
我們首先需要使用 Worksheets.Activate
方法啟用工作表以選擇另一個工作表上的單元格。下一個程式碼將允許你選擇 Sheet2
上的單元格 A4
。
# VBA
Worksheets("Sheet2").Activate
Range("A4").Select
輸出:
在 VBA 中操作 Selection
物件
一旦我們選擇了一個單元格或單元格範圍,我們可以參考 Selection
物件來操作這些單元格。以下程式碼選擇單元格 B1:D1
並將這些單元格的字型設定為 Calibri,將字型粗細設定為粗體,將字型樣式設定為斜體,並將填充顏色設定為藍色。
# VBA
Sub newFunc()
Range("B1:D4").Select
Selection.Font.Name = "Calibri"
Selection.Font.Bold = True
Selection.Font.Italic = True
Selection.Interior.Color = vbBlue
End Sub
輸出:
在 VBA 中使用 With
構造
我們可以使用 With
或 End With
語句關聯上面的示例,以僅引用一次 Selection
物件。這會不斷輸入,通常會使你的程式碼更易於閱讀。
# VBA
Sub newFunc()
Range("B1:D4").Select
With Selection
.Font.Name = "Calibri"
.Font.Bold = True
.Font.Italic = False
.Interior.Color = vbBlue
End With
End Sub
輸出: