0

我的数据集都在 A 列中,我试图在第 2 行和第 300 行之间读取数据。我需要读取每个单元格以查看其中是否包含信息。如果它没有任何信息,那么它将转到下面的下一个单元格。当它确实在单元格中找到信息时,它需要创建一个新的工作簿并将该单元格值用作标题作为工作簿名称并循环到第 300 行。工作簿需要保存在我的桌面上名为 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
4

1 回答 1

5

发生错误是因为您没有使用正确的语句结束该With段。End WithVBA 将 解释End为结束With段,然后继续让 2Ifs打开而没有关闭。

于 2013-07-13T22:29:40.560 回答