Hoffentlich sollte dies einfach sein, aber ich kann nicht sehen, was ich verpasst habe. Ich erhalte den Laufzeitfehler in der Zeile Einfügen Spezial, nachdem ich den Inhalt von Spalte A auf dem "Original" -Blatt gelöscht habe. Kann mir bitte jemand helfen?Paste spezielle Methode der Range-Klasse fehlgeschlagen - Fehler 104
Sub BACSConversion2()
Dim MyNewBook As String
Dim MySaveFile As String
Dim fileToOpen As Variant
Dim fileName As String
Dim sheetName As String
'Turn off display alerts
Application.DisplayAlerts = False
'Turn off screen updates
Application.ScreenUpdating = False
'This calls the routine to get the text file data
'Call CopyTxtFile
'Opens the folder to location to select txt file
fileToOpen = Application.GetOpenFilename("Text Files (*.txt), *.txt")
If fileToOpen <> False Then
Workbooks.OpenText fileName:=fileToOpen, _
DataType:=xlDelimited, Tab:=True
End If
'Creates the file name based on txt file name
fileName = Mid(fileToOpen, InStrRev(fileToOpen, "\") + 1)
'Creates the sheet name based on the active txt file
sheetName = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4)
'Save active file as...
ActiveWorkbook.SaveAs ("S:\Accounts (New)\Management Information
(Analysis)\Phil Hanmore - Analysis\Neil Test\Test Destination Folder\" &
fileName & ".CSV")
'Selects all data in column A and copies to clipboard
Range("A1", Range("A1").End(xlDown)).Select
Selection.Copy
'Closes the workbook
'ActiveWorkbook.Close
'Open the original document where the BACS file is located
Workbooks.Open "S:\Accounts (New)\Management Information (Analysis)\Phil
Hanmore - Analysis\Neil Test\copy of bacs conversation calc.xlsx"
'Selects the worksheet called "Original"
Sheets("Original").Select
Range("A:A").ClearContents
'Paste selected values from previous sheet
Selection.PasteSpecial Paste:=xlPasteValues
'Selects appropriate worksheet - Non-MyPayFINAL
Sheets("Non-MyPay FINAL").Select
'Selects all data in column A and copies to clipboard
Range("A1", Range("A1").End(xlDown)).Select
Selection.Copy
'Add a new workbook
Workbooks.Add
'Paste selected values from previous sheet
Selection.PasteSpecial Paste:=xlPasteValues
'Build SaveAs file name
MySaveFile = Format(Now(), "DDMMYYYY") & "NonMyPayFINAL" & ".CSV"
'Save template file as...
ActiveWorkbook.SaveAs ("S:\Accounts (New)\Management Information
(Analysis)\Phil Hanmore - Analysis\Neil Test\" & MySaveFile)
'Close the new saved file
ActiveWorkbook.Close
'Selects appropriate worksheet - MyPayFINAL
Sheets("MyPay FINAL").Select
'Selects all data in column A and copies to clipboard
Range("A1", Range("A1").End(xlDown)).Select
Selection.Copy
'Add a new workbook
Workbooks.Add
'Paste selected values from previous sheet
Selection.PasteSpecial Paste:=xlPasteValues
'Build SaveAs file name
MySaveFile = Format(Now(), "DDMMYYYY") & "MyPayFINAL" & ".CSV"
'Save template file as...
ActiveWorkbook.SaveAs ("S:\Accounts (New)\Management Information
(Analysis)\Phil Hanmore - Analysis\Neil Test\" & MySaveFile)
'Close the new saved file
ActiveWorkbook.Close
'Close original source workbook
Workbooks("bacs conversation calc").Close
'Turn on display alerts
Application.DisplayAlerts = True
'Turn on screen updates
Application.ScreenUpdating = True
End Sub
Ändern Sie die Reihenfolge, die gerade die Zwischenablage löscht. Löschen Sie den Inhalt und kopieren Sie ihn anschließend. Übrigens brauchen Sie nicht Auswahl Bereich ("A1", Bereich ("A1"). Ende (xlDown)). Kopieren'. – SJR
@SJR Danke für die schnelle Antwort, könntest du mir ein Beispiel geben? – Dyhouse
Nachdem ich den Inhalt gelöscht habe, muss ich zurück zur CSV-Datei wechseln, kopieren, zum "Original" -Blatt zurückkehren und dann einfügen? – Dyhouse