根据vba中的唯一值创build多个工作簿
我正在尝试根据列中的唯一值创build多个工作簿。 我的代码基于c列中的唯一值创build第一个具有唯一值名称(Col C)的工作簿,但后来不工作。
ColA colB Colc(uniques values) 1.John ram micheal 2.Andrea Boll Holger 3.schmidt Muller Arnold 4.ram loki rainer 5.puv ramesh shanu 6.jogesh naga chiru
码:
Dim i As Integer Dim x As String Dim LastRow as integer LastRow = .Cells(.Rows.Count, "C").End(xlUp).Row For i = 2 To LastRow x = ActiveWorkbook.Sheets(3).Range("C" & i).Value Set NewBook = Workbooks.Add With NewBook .Title = x .SaveAs Filename:=x & ".xlsx" End With Next
结果:
Micheal.xlsx Holger.xlsx Arnold.xlsx rainer.xlsx shanu.xlsx chiru.xlsx
我只有micheal.xlsx工作簿。 有人可以看看我的代码,纠正我。
有两个问题:1.你没有在你的代码中声明LastRow
。 2.您需要将ActiveWorkbook
更改为ThisWorkbook
。 因为当您创build一个新的工作簿时,新的工作簿将成为活动工作簿,代码将不再工作。 有了ThisWorkbook
这个错误不会发生。
Public Sub CreateSomeWorkbooks() Dim i As Integer Dim x As String Dim LastRow As Long LastRow = ThisWorkbook.Sheets(3).Cells(ThisWorkbook.Sheets(3).Rows.Count, "C").End(xlUp).Row For i = 2 To LastRow x = ThisWorkbook.Sheets(3).Range("C" & i).Value Set NewBook = Workbooks.Add With NewBook .Title = x .SaveAs Filename:=x & ".xlsx" End With Next i End Sub