VBA检查excel工作表名称

VBA检查excel工作表名称,excel,vba,worksheet,Excel,Vba,Worksheet,如何检查正在运行VBA宏的工作表或工作簿的名称?要用作条件语句,(如果工作簿/工作表名称=”,则…。如果工作表是屏幕上显示的工作表,则可以使用以下内容: If ActiveSheet.Name = "Name of Sheet" then *Code here End If 您应该避免在运行宏时不显式指定工作表(如果打开了多个工作表,则指定工作簿)。使用指定工作表很容易。属于工作表的每个范围或单元格引用只需要一个句点(也称为或句号)作为前缀,即可将工作表指定为父项。只有当您想要引用不同

如何检查正在运行VBA宏的工作表或工作簿的名称?要用作条件语句,(如果工作簿/工作表名称=”,则…。

如果工作表是屏幕上显示的工作表,则可以使用以下内容:

If ActiveSheet.Name = "Name of Sheet" then
    *Code here
End If
您应该避免在运行宏时不显式指定工作表(如果打开了多个工作表,则指定工作簿)。使用指定工作表很容易。属于工作表的每个范围或单元格引用只需要一个句点(也称为
或句号)作为前缀,即可将工作表指定为父项。只有当您想要引用不同的工作表时,才需要指定不同的父工作表;e、 g.从一个工作表复制到另一个工作表。通过将变量设置为工作表对象,可以轻松解决这一问题

例如:

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
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)
话虽如此,如果您想确定某个单元格引用(如
Range(“A1”)
)在代码中的某个点属于哪个工作表,请获取任何单元格引用的名称,然后您可以从中确定父工作表的名称。的外部参数也可用于提取工作簿和工作表的字符串单元格地址,但这需要进行一些文本操作以确定工作表名称

例如:

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
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)