我对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