【发布时间】:2020-12-31 15:56:39
【问题描述】:
- 我有一个按行列出所有数据的主工作表。
- 为每条唯一记录添加更多详细信息的模板
- 需要为“C”列中的每个条目创建一个工作表,并使用相应行的名称 (D) 和联系人 (E) 列中的详细信息更新模板。
- 然后将相应的工作表与行中的条目超链接。
在这里的几篇文章的帮助下,我能够在下面运行创建表格的代码,但我需要帮助从主表格填充模板中的数据并创建超链接
Option Explicit
Sub SheetsFromTemplate()
Dim wsMASTER As Worksheet, wsTEMP As Worksheet, wasVISIBLE As Boolean
Dim shNAMES As Range, Nm As Range
With ThisWorkbook
Set wsTEMP = .Sheets("Template")
wasVISIBLE = (wsTEMP.Visible = xlSheetVisible)
If Not wasVISIBLE Then wsTEMP.Visible = xlSheetVisible
Set wsMASTER = .Sheets("Master")
Set shNAMES = wsMASTER.Range("C4:C" & Rows.Count).SpecialCells(xlConstants)
Application.ScreenUpdating = False
For Each Nm In shNAMES
If Not Evaluate("ISREF('" & CStr(Nm.Text) & "'!A1)") Then
wsTEMP.Copy After:=.Sheets(.Sheets.Count)
ActiveSheet.Name = CStr(Nm.Text)
End If
Next Nm
wsMASTER.Activate
If Not wasVISIBLE Then wsTEMP.Visible = xlSheetHidden
Application.ScreenUpdating = True
End With
MsgBox "All sheets created"
End Sub
【问题讨论】:
-
那么到目前为止,您尝试了什么?你在哪里遇到问题?请在您的问题中包含这一点。
-
感谢 braX,刚刚添加了额外的 cmets 并需要帮助
-
我会说循环检查表中的名称与您的主文件中的 D 列(使用
.Find或Application.Match)如果匹配,则在主文件之间执行.value = .value并使用相关单元格循环工作表(如果您希望脚本更简洁,请在相关单元格中再循环一次)。 -
谢谢西蒙,我不太擅长 VBA,还是个菜鸟。你能帮我放代码吗?