在Excel中使用VBA,如何遍历一列并根据单元格值创建新工作表?

时间:2019-05-09 02:14:16

标签: excel vba

我在工作表1中有一个包含不同值的列。我想遍历该列,并使用与值对应的工作表名称创建新工作表。每次创建工作表时,我都希望将新工作表设置为活动状态并在该工作表上执行一些任务。

 Sub test()
 i = 4 'starting row in sheet 1

   While Not IsEmpty(Cells(i, 1))


    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets.Add
    ws.Name = Cells(i, 1).Value
    'do something to new sheet

    i = i + 1
 Wend
 End Sub

这不起作用,我在网上找到的示例太复杂了,无法满足我的需求。我希望有一个简单的解决方案,指出我做错了什么。谢谢

1 个答案:

答案 0 :(得分:0)

这将添加工作表并按照A4中的值向下命名它们:

Dim wks As Worksheet
Dim wksNew As Worksheet
Dim rngCell As Range

Set wks = Sheets("Sheet1")
Set rngCell = wks.Range("A4")

While Not IsEmpty(rngCell)
    Set wksNew = ActiveWorkbook.Worksheets.Add(After:=Sheets(Sheets.Count))
    wksNew.Name = rngCell.Value

    'do stuff with wksNew

    Set rngCell = rngCell.Offset(1)
Wend