我正在尝试将单元格从文件A的工作表1复制到文件B的工作表1。文件A已创建,并且正在用我的代码创建文件B:
Sub Save()
Dim directory, fileName As String
Dim nbLigneImportCanope As Integer
Application.ScreenUpdating = False
'' Path
directory = "\\path\"
'' Number of line in file A
nbLigneImportCanope = 1
While ThisWorkbook.Worksheets("Kibana").Range("A" & nbLigneImportCanope).Value <> ""
nbLigneImportCanope = nbLigneImportCanope + 1
Wend
nbLigneImportCanope = nbLigneImportCanope - 1
'' Copy from file A
ThisWorkbook.Worksheets("Kibana").Range("A1" & ":V" & nbLigneImportCanope).Copy
'' Creation of file B
fileName = InputBox("Entrer le nom du fichier :", "Création d'un nouveau fichier...", "KIBANA_01022019")
If fileName <> "" Then
Set NewWkbk = Workbooks.Add
NewWkbk.SaveAs directory & "\" & fileName
End If
'' Paste in file B
ActiveSheet.Paste
End Sub
但是我最终得到
错误1004-粘贴方法工作表类失败。
我在这段代码之前检查并意识到:
'' Creation of file B
fileName = InputBox("Entrer le nom du fichier :", "Création d'un nouveau fichier...", "KIBANA_01022019")
剪贴板还可以,我要粘贴正确的数据,紧随其后的是空的。
你们有个主意吗?
答案 0 :(得分:0)
正如cyboashu在其评论中所写,您仅应在打开新工作簿后进行复制。另外,可以将目标范围作为参数提供给Copy
命令。
此外,在您的代码中,您缺少else
的{{1}}分支,因此,如果未选择文件名,则将数据粘贴到当时处于活动状态的工作表中。
您的代码可能看起来像
If fileName <> ""