我的数据集全部在A列,我正在尝试在第2行和第300行之间读取。我需要读取每个单元格以查看其中是否包含信息。如果它没有任何信息,那么它将转到下面的下一个单元格。当它确实在单元格中找到信息时,它需要创建一个新的工作簿并将该单元格值用作工作簿名称的标题并循环到第300行。工作簿需要保存在我的dekstop中名为test的文件夹中。如果没有阻止,我会继续“结束”错误
Sub blair()
Dim strName As String
strName = ActiveCell.Value
For ptr = 2 To 300
If Cells(ptr, "a") = vbNullString Then
Cells(ptr, "a") = Cells(ptr, "a").Offset(-1, 0)
Else
Set NewBook = Workbooks.Add
With NewBook
.SaveAs Filename:="C:\Users\Marco\Desktop\test\" & strName & ".xls"
.Close
End If
Next
End Sub
答案 0 :(得分:5)
发生错误是因为您没有使用正确的With
语句结束End With
段。 VBA将End
解释为结束With
段,然后继续打开2 Ifs
,但没有关闭。