2011-08-24 109 views
11

我試圖找到一種方法將Excel工作表名稱用作我編寫的宏中的變量。每個月我都會處理一張工作簿,這張工作簿是以兩張表格發給我的。部分宏使用「打開文件」界面導航到文件夾並打開文件。獲取Excel工作表名稱並將其作爲宏中的變量使用

該文件中的第一張紙稱爲'報告',它是靜態的。我所做的就是刪除它(因爲我不需要它)。

第二張紙可以被稱爲任何東西,這就是我需要運行宏的紙張。有沒有辦法說:

shtName = %whatever_the_sheetname_is_called% 

然後在整個宏中使用'shtName'變量?我想這個新的文件名作爲變量也會有幫助。

回答

27
在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] 
+0

+1你的答案是非常明確的 – JMax

+0

同意。這正是我正在尋找的。 –

相關問題