首页 > 解决方案 > Excel:动态选择工作表(没有工作表名称)

问题描述

我的 Excel 文件中的工作表是动态的。我有一个按钮,可以创建一个带有新名称的工作表。

是否可以以动态方式选择工作表?或者不知道床单的名称。

这是我用于打印特定范围的单元格的 vba 代码

Private Sub CommandButton1_Click()
    Sheets("-32628").Select
    range("A1:BZ18").Select
    ActiveSheet.PageSetup.PrintArea = "A1:BZ18"
    ActiveWindow.SelectedSheets.PrintOut from:=1, To:=1, Copies:=1, Collate _
      :=True
End Sub

我想要的是选择Sheetname: -32628不输入工作表的实际名称?

标签: excelvba

解决方案


我有一个按钮,可以创建一个带有新名称的工作表。

如果您在单击按钮中创建工作表,那么它非常简单。在代码之上声明一个工作表对象,以便其他过程可以访问它,然后使用它。例如

Dim ws As Worksheet

Private Sub CommandButton1_Click()
    If Not ws Is Nothing Then
        ws.PageSetup.PrintArea = "A1:BZ18"

        ActiveWindow.SelectedSheets.PrintOut _
        from:=1, To:=1, Copies:=1, Collate:=True
    End If
End Sub

Private Sub CommandButton2_Click()
    Set ws = ThisWorkbook.Sheets.Add
    ws.Name = "-32628"
End Sub

推荐阅读