早上好!Get.OpenFilename數組+'For Each'或'Do While'?
我一直在學習VBA一週現在...就像從瀑布喝酒一樣。儘管研究我似乎無法把它放在一起。本小節將打開多個選定的工作表,根據需要進行編輯,直到編輯完所有工作表。
我使用GetOpenFilename捕捉多個文件,然後我想已經打開,並通過我的StandaloneReportEdit宏觀運行 - 我不確定爲什麼我不能調用創建陣列,或者我應該研究,以找出答案:
Dim my_FileName As Variant
my_FileName = Application.GetOpenFilename(_
filefilter:="Excel Files,*.xl*;*.xm*", _
Title:="Select Excel File to Open", _
MultiSelect:=TRUE)
If my_FileName = False Then End
Set wb = Workbooks.Open(my_FileName, False, False)
Call StandaloneReportEdit 'Sub to very thoroughly edit reports
我會在哪裏使用'For Each'(或者可能是Do While),我無法完全弄清楚要引用什麼......會是這樣的工作嗎?
For Each my_FileName 'Call StandaloneReportEdit here
或者我應該用「不要當」在下面:
Do While my_FileName = True
If my_FileName = False Then End
Set wb = Workbooks.Open(my_FileName, False, False)
Call StandaloneReportEdit
Loop
這個問題可能不那麼徹底,你都可能會喜歡,和我道歉,我想我的思念並且只是指向正確的方向將不勝感激。非常感謝您的時間!
避免'結束'。使用'Exit Sub'來代替整個執行上下文。目前還不清楚你想用'my_FileName'來迭代什麼,也不清楚你的問題是什麼。請[edit]澄清。 –
如果您正在獲取多個文件名,並且您正在嘗試對它們進行迭代,則可以很容易地將您的帖子改述爲如此。不要道歉,只需修復它! ;-) –
@ Mat'sMug - 我試圖捕獲從上面的.GetOpenFilename中選擇的文件的數組,以便我可以通過調用其中的子來運行所有這些文件。我將進行編輯以澄清,我認爲儘管如此,我完全失去了。 – dduz