2012-01-07 103 views
1

在我正在進行的項目中,我要完成工作,我想確保接管我工作的人員將獲得贏得「我離開後不會休息。這個項目是一個持續的追蹤器,每年保持每年一次,每個工作表使用的工作表(幾個不同的感興趣的項目)按工作表名稱逐年分隔。例如,主表格簡單地稱爲「YYYY」,其中「YYYY」是當前年份。其他工作表稱爲「DTDYYYY」,「MTDYYYY」,「YTDYYYY」,其中YYYY是當前年份。來到2013年,如果我使用的小VBA能夠採用當前的YYYY並自動找到合適的工作表,我希望它。excel VBA如何從工作表名稱中確定工作表索引

我知道我可以使用SheetIDX約定來參考工作表。我知道我可以使用表格(NAME)方法。不過,我不確定如何最好地完成我的目標。

+2

您的要求不明確。如果你想找到一個你知道被稱爲'2013'的工作表,那麼困難在哪裏?你的意思是你想創建一個工作表嗎?目前會發生什麼? – Fionnuala 2012-01-07 09:19:11

+1

我需要能夠動態使用當前存在的基於當年的工作表。困難是我不知道該怎麼做。 – Jim 2012-01-07 18:04:49

回答

6

您需要一個名稱字符串。

With ThisWorkbook 
    .Sheets(CStr(Year(Date))).Select 
End With 
6
Application.Sheets("Sheet1").Index 
Application.Sheets(1).Name 

希望這是你需要的。

對不起,我沒有看到關於今年的最後一部分。也許這個?

Application.Sheets(Year(Date())).Activate 
+0

這是我正在尋找的正確方向。但是,使用這些方法時,會出現錯誤'下標超出範圍(錯誤#9)'。我也嘗試將年份(日期)分配給一個變量並使用它。我犯了同樣的錯誤。我目前正在使用Excel 2007. TIA! – Jim 2012-01-07 18:06:58