簡體   English   中英

VBA檢查excel工作表名稱

[英]VBA check excel worksheet name

如何檢查正在其中運行VBA宏的工作表或工作簿的名稱? 用作條件語句(如果工作簿/工作表名稱=“”,則...)。

如果工作表是屏幕上顯示的工作表,則可以使用以下方法:

If ActiveSheet.Name = "Name of Sheet" then
    *Code here
End If

您應該避免在運行宏時明確指定工作表(如果打開了多個工作表, 則不明確指定工作表)。 使用With ... End With語句可以很容易地指定工作表。 屬於工作表的每個范圍或單元格引用都只需要一個句點(即.或句 )作為前綴,即可將工作表分配為父表。 僅當您要引用其他工作表時,才需要指定其他父工作表。 例如從一個工作表復制到另一個工作表。 使用工作表對象的變量Set可以輕松解決這一問題。

例:

dim ws2 as worksheet
set ws2 = Sheets("Sheet2")
with Sheets("Sheet1")
    .range("A2:D4).copy destination:=ws2.range("A2")
    'more operations on Sheet1 here using .Range and .Cells
end with

話雖如此,如果您想確定代碼中某個位置像Range("A1")類的單元格引用屬於哪個工作表,請獲取任何單元格引用的Range .Parent屬性 ,然后可以確定父級工作表的.Name屬性。從那開始。 Address屬性External參數也可以用於提取工作簿和工作表的字符串單元格地址,但這需要一些文本操作才能確定工作表名稱。

例:

debug.print Range("A1").parent.name
debug.print Cells(1, 1).parent.name
debug.print Range("A1").address(0, 0, external:=True)
debug.print Cells(1, 1).address(0, 0, external:=True)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM