Clever-Excel-Forum

Normale Version: Laufzeitfehler Paste
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Forum,

mit folgendem Code importiere und splite ich eine Textdatei in Tabelle1
und kopiere das Ergebnis in die aktuelle Tabelle. Leider bekomme ich hier folgenden Fehler,

Laufzeitfehler 1004 Die Methode 'Paste' für das Objekt'_Worksheet' ist fehlgeschlagen

Hierbei wird im untenstehendem Code 'wks.Paste .Cells(1)' gelb markiert
nach mehrmaligem wiederholen des Vorganges funktioniert es dann?

Könntet Ihr euch mal den Code anschauen ob da ein Fehler verborgen ist.

Besten Dank im Voraus

omron2003

Code:
Sub InputFilesFromPath()
'---------------------------------------
'Import und Split der Textdatei
'---------------------------------------
'Daten importieren
Dim strPfad     As String
Dim strDatei    As String
Dim intFF       As Integer
Dim strText     As String
Dim wks         As Worksheet

Set wks = Tabelle1                                         
strPfad = "C:\Import\"                
strDatei = Dir(strPfad & "*.txt")                          
Sheets("Tabelle1").Cells.Clear

Do While strDatei <> ""

    intFF = FreeFile()
    Open strPfad & strDatei For Input As #intFF
        strText = CreateObject("scripting.filesystemobject").opentextfile(strPfad & strDatei).readall
    Close #intFF
  
    WriteToClp strText
  
    With wks
        With .Cells(Rows.Count, 1).End(xlUp).Offset(1)
            .Value = 1
            .TextToColumns .Cells(1), Space:=True
            wks.Paste .Cells(1)
        End With
    End With
  
    strDatei = Dir()
Loop
Calculate
End Sub
Hallo

ungetestet..

wks.Cells(1).Paste 


LG UweD
Hallo UweD,

nun bekomme ich den Laufzeitfehler '438'
Objekt unterstützt diese Eigenschaft oder Methode nicht

LG omron2003
Hallo

ok. Hab es mir nochmal angesehen.
Dein Code scheint richtig zu sein, aber beim Einfügen ist die Zwischenablage leer.

Diese sollte durch "WriteToClp strText" gefüllt werden.

Dazu finde ich nichts. Nutzt du ein Unterprogramm dafür?


LG
Du mischt 'freefile' und 'scripting.filesystemobject'.

Offensichtlich weiss du nicht was der Code bedeutet.

Code:
Sub M_snb()
  c00 = "C:\Import\"
  c01 = Dir(strPfad & "*.txt")
  Tabelle1.Cells.Clear

  With CreateObject("scripting.filesystemobject")
    Do While c01 <> ""
      c02 = c02 & vblfcr & .opentextfile(c00 & c01).readall
      c01 = Dir
    Loop
  End With
 
  sn = Split(Mid(c02, 3), vbCrLf)
  Tabelle1.Resize(UBound(sn) + 1) = Application.Transpose(sn)
End Sub
Hallo,

@UweD
unter WriteToClp habe ich folgenden Code stehen.

Code:
Public Sub WriteToClp(txt As String)
Dim IE As Object
Set IE = CreateObject("HTMLfile")
IE.ParentWindow.ClipboardData.SetData "text", txt & ""
Set IE = Nothing
End Sub

@snb

der VBA Code stammt nicht von mir, die gesamte Arbeitsmappe wurde einmal von einem anderen Kollegen (im Ruhestand) erstellt.
Ja so ganz verstehe ich den VBA Code der hier angewendet wird nicht, es gibt bestimmt andere Wege die Daten aus einer txt Datei
einzulesen, zu spliten und in Tabelle1 zu schreiben.


Gruß
omron2003