對於在Excel中製作宏,我完全陌生!如何將一個單元格值作爲一個數組的變量
我試圖使用一個單元格的值作爲我的數組的輸入,但我得到一個「下標超出範圍」的問題。
Sub Macro1()
MyValue = ActiveSheet.Range("A1")
ThisWorkbook.Sheets(Array(MyValue)).Select
End Sub
A1 = 1,2,4的值對應於可用表單。順便把價值直接作爲魅力。
謝謝
對於在Excel中製作宏,我完全陌生!如何將一個單元格值作爲一個數組的變量
我試圖使用一個單元格的值作爲我的數組的輸入,但我得到一個「下標超出範圍」的問題。
Sub Macro1()
MyValue = ActiveSheet.Range("A1")
ThisWorkbook.Sheets(Array(MyValue)).Select
End Sub
A1 = 1,2,4的值對應於可用表單。順便把價值直接作爲魅力。
謝謝
我希望我理解你的帖子,嘗試下面的代碼,讓我知道,如果這就是你的意思。
將可選參數添加到False
允許將選項擴展爲多張紙。
Option Explicit
Sub Macro1()
Dim MyValue
Dim i As Integer
MyValue = Split(ActiveSheet.Range("A1"), ",")
For i = 0 To UBound(MyValue)
ThisWorkbook.Sheets(CInt(MyValue(i))).Select (False)
Next i
End Sub
宏正在運行,沒有錯誤,所以很好!但是隻選擇了第4頁。 –
是的謝謝!是作品 –
我認爲這是你在找什麼。
Sub print_sheets()
MyValue = ActiveSheet.Range("A1").Value
MyArr = Split(MyValue, ",")
For Each Value In MyArr
ThisWorkbook.Sheets(CInt(Value)).Activate
' Change the directory below
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\<<<USER>>>>\Documents\" & Value & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True
Next Value
End Sub
這讀取A1並拆分它。激活紙張並打印紙張。 我不能讓它們在pdf上打印,除非我知道該怎麼稱呼這些紙張。 編輯:我讓他們保存sheetnumber作爲文件的名稱。
如果我使用Split函數,則會出現類型不匹配的錯誤! –
不知道這是否是我的錯誤在這裏..我看到我留下的代碼範圍(「I1」)而不是A1。但除此之外,它應該工作,除非有別的事情你不告訴我們。將代碼編輯到A1。如果那是問題。 – Andreas
這是我現在的代碼,也許我錯過了一些東西。就像我說過的,對這個完全陌生! –
是'MyValue'你的數組? –
MyValue的值是「1,2,4」應該是數組 –
所以你希望你的數組是'MyValue(0)= 1','MyValue(1)= 2'和'MyValue(2)= 4 '?你想選擇哪個工作表?你想循環所有的人嗎? –