我對VBA非常新(3天的exp),我已經瀏覽了幾個論壇,但是我找不到解決方案。VBA - 從工作簿中複製不同的模板,根據總結excel表中的條件複製到另一個工作簿的多個工作表
我有2個工作簿。 「主」工作簿包含一個彙總表,其中有A列 - 名稱列表超鏈接到同一工作簿中的空白工作表,標籤與列中的名稱相同。 B列有1個或其組合顏色 - 有5個選項(紅色,藍色,綠色,藍色&紅色或紅色&綠色)。 我有一個單獨的模板工作簿,其中有5個模板工作表,每個模板工作表對應於顏色:標有紅色,藍色,綠色,藍色&紅色或紅色&綠色。
我想要一個宏將通過我的「主」工作簿的B列,並根據顏色,從模板工作簿中複製相應的模板,然後返回到主工作簿單擊通過相鄰的鏈接列A,它將把它帶到一個空白表格並粘貼模板。這應該重複遍歷整個列。
例如:
- 認識到,在 「主」 細胞簿B2具有紅色。
- 打開該模板的工作簿,
- 去標記紅色
- 複製整個工作表
- 回到「主」工作簿
- 單擊超鏈接名稱在單元格(A2)的片旁邊B2
- 這將帶你到一個空白頁
- 粘貼模板
- 回到「大師」的工作簿,並重複列的其餘
- 如果再紅一下,那麼照做不變,如果不同的顏色像藍色一樣,那就複製粘貼藍色模板表。
我試圖從其他論壇中可用的代碼中自行編寫代碼,但它僅將粘貼複製到需要紅色模板的10張工作表的「主」工作簿的前2張上。我因爲如果加1倍標準沒有意義只寫它的1倍顏色的標準至今沒有工作:
Sub Summary()
Dim rng As Range
Dim i As Long
Set rng = Range("B:B")
For Each cell In rng
If cell.Value <> "Red" Then cell.Offset(0, -1).select
ActiveCell.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
Workbooks.Open Filename:= _
"T:\Contracts\Colour Templates.xlsx"
Sheets("Red Template").Select
Cells.Select
Selection.Copy
Windows("Master.xlsx").Activate
ActiveSheet.Range(「A1」).select
ActiveSheet.Paste
Next
End Sub
要在這裏獲得有用的答案,請嘗試實際執行代碼併發布特定問題。沒有人會爲你寫整個代碼。你可以在這裏或許多其他地方獲得如何完成每一個單獨步驟的答案! – Wolfie
@Wolfie謝謝你的評論,不幸的是對每一步的解釋都不存在,所以這篇文章就不存在了。對於有答案的步驟,沒有解釋如何鏈接它們,當我嘗試將它們鏈接在一起時,它不起作用。所以我最終使用的代碼(使用3天的編碼體驗)只是打開模板工作簿並粘貼「主」工作簿的摘要表。我敢肯定,我擁有的代碼會被徹底改變甚至完全忽略,所以沒有看到發佈它的重點,但根據您的要求,我會爲您編輯原始帖子。 – kira123
複製工作表:https://stackoverflow.com/questions/7692274/excel-vba-copy-sheet-and-get-resulting-sheet-object打開工作簿https://stackoverflow.com/questions/26415179/vba-macro -workbook-open-or-workbook-activate-through-variable-reference這裏有答案......我已經發布了一個簡單的代碼來幫助你學習一些你將需要的關鍵函數,雖然 – Wolfie