很抱歉,如果“主题”的名称不是很完美,那么很难描述,因为Iam已经比较接近结尾了。
我的宏调用另一个文件,将其复制,打开副本,粘贴一些数据,然后保存并关闭它。 不幸的是,文件被复制,选择了副本,并且看起来像粘贴了数据。然后出现“另存为”对话框,并告诉我该名称的文件已经存在。 我输入另一个名称并保存文件。
现在有3个文件,而不是原始的和更新的文件:
原始文件,一个副本没有任何更新,但有初始名称,而另一个版本有更新,但另一个名称是我必须在“另存为”对话框中选择的。
我如何获取它,以便只有旧的和更新的文件,并且更改保存在原始文件中(最好没有任何提示/对话框)
我希望我已经很好地解释了这个问题,请您随意提问,我们将不胜感激。
'select old file to copy, insert data from this workbook into the copy, save the copy.
PfadVorlageDatei = Application.GetOpenFilename("Exceldateien,*.xls*", 1, "Vorlage auswählen")
PfadNeueDatei = Application.GetSaveAsFilename(FileFilter:= _
"Exceldateien (*.xlsx), *.xlsx", Title:="Datei speichern", _
InitialFileName:="")
FileCopy PfadVorlageDatei, PfadNeueDatei
Set NeueDatei = Workbooks.Open(Filename:=PfadNeueDatei, ReadOnly:=True)
With ThisWorkbook.Worksheets("Test")
.Range(.Cells(8, 2), .Cells(100, 100)).Copy
End With
With NeueDatei.Worksheets("Test").Range("B8")
.PasteSpecial xlPasteFormats
.PasteSpecial xlPasteValues
End With
NeueDatei.Close SaveChanges:=True ' i guess here is the issue
答案 0 :(得分:0)
正如@FunThomas所说,只需更改行
Set NeueDatei = Workbooks.Open(Filename:=PfadNeueDatei, ReadOnly:=True)
到
Set NeueDatei = Workbooks.Open(Filename:=PfadNeueDatei, ReadOnly:=False)
做得很好。非常感谢!