为Range中的每个单元格创建新工作表,并使用其值重命名

时间:2014-05-22 09:43:31

标签: excel vba excel-vba rename

我在这个论坛或google中找不到任何帮助我的话题,所以我希望有人能在这里帮助我。

我走了:

我已经创建了这个宏:

Sheets("Presentation PP").Select
Dim MyCell As Range, MyRange As Range

Set MyRange = Sheets("Presentation PP").Range("C3")
Set MyRange = Range(MyRange, MyRange.End(xlDown))

For Each MyCell In MyRange
    Sheets("Presentation PP").Copy After:=Sheets(1) 'copies worksheet and creates a new one
    Sheets(Sheets.Count).Name = MyCell.Value ' renames the new worksheet
    Next MyCell
End Sub

所以现在这个宏正在为我的范围内的每个单元格创建一张我的工作表的副本,并重命名最后一个单元格,并使用我最后一个单元格中的值。我需要通过值重命名的所有工作表。

我想我错过了一个子程序。希望有人知道如何解决这个问题。

1 个答案:

答案 0 :(得分:0)

这是你想要的吗?

Sub MainMoD()
    Dim cell As Range
    Dim ws As Worksheet
    Set ws = Sheets("Presentation PP")

    For Each cell In ws.Range("C3:C" & ws.Range("C" & Rows.Count).End(xlUp).Row)
        ws.Copy after:=Sheets(Sheets.Count)
        Sheets(Sheets.Count).Name = cell.Value
    Next

End Sub