我有一个excel模板(//desktop/spellTemplate.xltx)现在我打开了一个工作表,其中包含从A2
开始的名称列表和A3
处的描述
A2 A3
Imp does 5 damage
death does 3 damage
ghost heals 5 life.
列表很长,我需要用这个列表做两件事。 首先,我如何为A2 collumn中的每个项目创建一个新工作表(在此工作簿中),工作表以item.I命名。 现在,当它创建新工作表时,我希望它使用我在上面创建的模板。
然后将名称A2
放入模板单元格A1
,将说明A3
放入模板单元格C1
。如何自动为名称列表执行此操作?
答案 0 :(得分:1)
我假设您的列表如下所示,位于名为Spells的表单上:
尝试通过更改模板文件位置的路径来运行此代码:
Sub createSheet()
Dim rng As Range
Set rng = Sheets("Spells").Range("A2:A4")
Dim wks As Worksheet
For Each cell In rng
On Error Resume Next
If cell.Value <> "" Then
Set wks = Sheets.Add(After:=Worksheets(Worksheets.Count), Type:="C:\Users\PortlandRunner\AppData\Roaming\Microsoft\Templates\spellTemplate.xltx")
wks.Name = cell.Value
wks.Range("A1").Value = cell.Value
wks.Range("C1").Value = cell.Offset(0, 1).Value
End If
Next cell
End Sub
On Error Resume Next
行将跳过已存在的工作表。
创建的结果表: