根据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