首页 文章

获取Excel工作表名称并在宏中用作变量

提问于
浏览
13

我正在尝试找到一种方法,将Excel工作表名称用作我编写的宏中的变量 . 每个月我都会处理一张工作簿,这封工作簿会以2张纸发送给我 . 部分宏使用“打开文件”界面导航到该文件夹并打开该文件 .

文件中的第一个工作表称为“报告”,它是静态的 . 我所做的就是删除它(因为我不需要它) .

第二张可以被称为任何东西,这是我需要运行宏的工作表 . 有没有办法说:

shtName = %whatever_the_sheetname_is_called%

然后在整个宏中使用'shtName'变量?我想将这个新文件名作为变量也会有所帮助 .

1 回答

  • 32

    在您将使用的Visual Basic宏中

    pName = ActiveWorkbook.Path      ' the path of the currently active file
    wbName = ActiveWorkbook.Name     ' the file name of the currently active file
    shtName = ActiveSheet.Name       ' the name of the currently selected worksheet
    

    可以引用工作簿中的第一个工作表

    ActiveWorkbook.Worksheets(1)
    

    删除[报告]选项卡后,您将使用

    ActiveWorkbook.Worksheets("Report").Delete
    shtName = ActiveWorkbook.Worksheets(1).Name
    

    为了“稍后在那张纸上工作”你可以创建一个范围对象

    Dim MySheet as Range
    MySheet = ActiveWorkbook.Worksheets(shtName).[A1]
    

    并继续致力于 MySheet(rowNum, colNum) 等......

    快捷方式创建范围对象而不定义shtName:

    Dim MySheet as Range
    MySheet = ActiveWorkbook.Worksheets(1).[A1]
    

相关问题