使用模板在Excel中的列表中创建表格

时间:2014-03-21 14:16:28

标签: excel vba excel-vba

我有一个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。如何自动为名称列表执行此操作?

1 个答案:

答案 0 :(得分:1)

我假设您的列表如下所示,位于名为Spells的表单上:

enter image description here


尝试通过更改模板文件位置的路径来运行此代码:

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行将跳过已存在的工作表。


创建的结果表:

enter image description here