我知道以前有人对此提出过问题,但似乎没有一个能明确解决我遇到的问题。实际上,我尝试做的是创建一个新工作簿,将数据复制并粘贴到其中,然后以新文件名保存新工作簿。无论我做什么,似乎都收到各种类型的错误消息。
这是我的代码。任何帮助都非常感谢!
Private Sub DoStuff()
CurrentFile = "June_Files_macros_new.xlsm"
NewFile = "Train10_June01.xls"
Workbooks.Add
'Save New Workbook
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & NewFile
For i = 2 To 55
If Cells(i, 3) = Cells(i - 1, 3) And Cells(i, 13) = Cells(i - 1, 13) Then
Workbooks(CurrentFile).Worksheets("Sheet1").Rows(i).Copy _
Workbooks(NewFile).Worksheets("Sheet1").Rows(i)
Else: Workbooks(NewFile).SaveAs ThisWorkbook.Path & "\" & "New_Name"
End If
Next i
End Sub
在我看来,“New_Name”导致了我所有的问题,但我愿意改变任何可以让它工作的东西。
非常感谢!扎克
ps我对VBA比较陌生,所以请尽量使任何解释简单一些!
2条答案
按热度按时间7lrncoxx1#
试试看:
我把这话拦下:
因为每次If中的条件给出false响应时,它都将尝试以相同的名称“New_name. xls”保存工作簿(NewFile),这将产生错误,因为Excel无法以相同的名称保存文件。
但我不确定您想要这个Else条件做什么。
qc6wkl3g2#
在你的帮助下,我设法创造了一些我想做的事情。非常感谢!!!