我有一個運行一系列其他宏的宏。宏更改特定單元格(B1)的值時自動運行。該宏爲B1中指定的項目編號生成項目報告。我在任何時候都有大約75個活動項目。宏要運行的變量列表
我想要做的是將項目列表添加到工作簿並讓它通過每個值運行。值的值和數值每週都在變化,所以我不想將這些值硬編碼到宏中。我假設我會使用循環功能,但不確定如何去做。
我對當前宏代碼是:提前
Sub AA_RunAll()
Application.ScreenUpdating = False
ActiveWorkbook.RefreshAll
DoEvents
Call OpenFile
Call Copy1
Call DeleteRows1
Call DeleteRows2
Call DetailCopy
Call RemoveEmptySheets
Call SummarySheet
Workbooks("Project WIP Template.xlsm").Worksheets("Summary").Activate
Application.Goto Range("A1"), True
Application.ScreenUpdating = True
Application.DisplayAlerts = True
Call SaveAs
Workbooks("Project WIP V5.xlsm").Worksheets("Summary").Activate
Range("b1").Select
MsgBox "Report Complete"
End Sub
感謝
這個問題不是很清楚。這些不同的宏('DetailCopy')如何得到你的問題所暗示的這些未指定的「值」?你似乎知道你需要某種循環。鑑於缺乏細節,很難說比這更多的東西。也許你需要重寫你的宏,以便它們獲取參數,然後在循環中調用宏,並逐個傳遞值。 –
有幾個問題:項目列表取自哪些項目(產生此列表的項目),與此列表關聯的是什麼信息,項目列表中是否存在重複項目(版本控制等)以及循環的目的是什麼?具體來說,你有一個列表,你在循環它們,但是對於什麼結果/輸出(項目報告對你來說是個人的,而對我們而言是個人的)。 – Cyril
項目列表當前存儲在單獨的工作簿中,但可以添加到現有工作簿中。項目列表中沒有重複的值。 就循環而言,這可能不是正確的功能,只是我的假設。實質上,現在我手動輸入項目編號爲B1。只要我按Enter鍵,它就會運行宏,生成我的項目報告,保存並關閉它,並將我帶回到可以輸入另一個項目編號的模板中。 – acoatta