Ich mag würde, eine Arbeitsmappe öffnen und aus dem geöffneten Arbeitsmappe Blatt zu meinem worbook Blatt wie das kopieren:Kopieren von Daten aus einem anderen Excel-Datei mit VBA-Makro
Private Sub Workbook_Open()
Dim openedFile As String
Dim sourcebook As Workbook
openedFile = Application.GetOpenFilename(fileFilter:="Excel Macro-Enabled Workbook (*.xlsm), *.xlsm") 'Source book opening
Set sourcebook = Workbooks.Open(openedFile)
Application.CutCopyMode = True
sourcebook.Worksheets("source_sheet").Range("A1:L100").Copy
ThisWorkbook.Worksheets("dest_sgheet").Range("A1").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Call sourcebook.Close(False)
End Sub
ich diese Fehlermeldung bekam, nachdem ich diesen Code runing :
Laufzeitfehler ‚1004" : Pastespecial-Methode der Range-Klasse
fehlgeschlagen Es ist occour in dieser Zeile:
ThisWorkbook.Worksheets("dest_sheet").Range("A1").PasteSpecial Paste:=xlPasteValues
Auch diese Linie ist fast identisch, mit Ausnahme der Blattnamen, aber es ist irrelevant. – Twi
@Twi Ich habe Ihren Code anhand der Beispieldaten getestet und festgestellt, dass er einwandfrei funktioniert. Wenn Sie Zweifel haben, lassen Sie es mich wissen. – skkakkar
@Twi Wir bemühen uns, den Code unserer Kollegen zu überprüfen, um ihnen zu helfen. Das grundlegende Problem ist, ob dieser von Ihnen erarbeitete Programmcode fehlerhaft ist, was zur Generierung des Laufzeitfehlers 1004 führt. Wir bemühen uns, Beispieldaten zu kompilieren und Ihren Code zu analysieren, damit er funktioniert. Normalerweise werden solche kleinen Dinge durch Kommentare informiert. In diesem Fall gab es bereits eine Antwort, die Ihr Problem offenbar nicht vollständig ansprach und in Anbetracht der Tatsache, dass ich meine wertvolle Zeit damit verbracht habe, Ihr Problem zu analysieren, wurde es versehentlich als Antwort gegeben. Ich entschuldige mich, wenn es deine Gefühle verletzt hat. – skkakkar