Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Laufzeitfehler 1004, Textdatei kann nicht gefunden
#1
Hallo zusammen,

ich habe das Problem, dass auf meinem Rechner das Makro ohne Probleme läuft. Probier ich das auf dem Rechner meiner Kollegin, wird mir der Laufzeitfehler 1004 angezeigt. (Textdatei kann nicht gefunden...........)
Die Datei liegt Zentral auf unserem Server.

Hier mein Programmcode und bitte um Hilfe.

Vielen Dank für eure Hilfe

S
Code:
ub aktualsieren()
'
' aktualsieren Makro
'

'

    Range("B4:B21").Select
    Selection.Copy
    Range("C4").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Range("B23:B294").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("C23").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    ActiveWindow.SmallScroll Down:=-147
    Range("E4:E21").Select
    Application.CutCopyMode = False
    Selection.Copy
    Application.CutCopyMode = False
    Selection.Copy
    Range("F4").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Range("E23:E294").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("F23").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    ActiveWindow.SmallScroll Down:=-165
    Range("I4:I21").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("J4").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Range("I23:I294").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("J23").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    ActiveWindow.SmallScroll Down:=-125
    Range("L4:L21").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("M4").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Range("L23:L294").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("M23").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    ActiveSheet.Outline.ShowLevels RowLevels:=1
    Sheets("Webshop").Select
    Range("B4:B15").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("C4").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Range("E4:E15").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("F4").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Range("I4:I15").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("J4").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Range("L4:L15").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("M4").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Sheets("Dateneinlese_Rechnungen").Select
    ActiveWindow.SmallScroll Down:=-61
    Rows("1:1").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Sheets("Dateneinlese_Aufträge").Select
    Rows("1:1").Select
    Selection.AutoFilter
    Selection.AutoFilter
    Sheets("copy").Select
    Range("A1").Select
    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;Business Development:Sales Reports - nicht löschen!:Datenquelle:OIH Kopie.txt" _
        , Destination:=Range("A1"))
        .Name = "OIH Kopie"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = xlWindows
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
        .Refresh BackgroundQuery:=False
        .UseListObject = False
    End With
    Columns("A:K").Select
    Selection.Copy
    Sheets("Dateneinlese_Aufträge").Select
    Columns("A:K").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Sheets("copy").Select
    Cells.Select
    Application.CutCopyMode = False
    Selection.Delete Shift:=xlUp
    Range("A1").Select
    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;Business Development:Sales Reports - nicht löschen!:Datenquelle:Rechnungen Kopie.txt" _
        , Destination:=Range("A1"))
        .Name = "Rechnungen Kopie"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = xlWindows
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
        .Refresh BackgroundQuery:=False
        .UseListObject = False
    End With
    Columns("A:K").Select
    Selection.Copy
    Sheets("Dateneinlese_Rechnungen").Select
    Columns("A:K").Select
    ActiveWindow.SmallScroll ToRight:=-8
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Sheets("copy").Select
    Application.CutCopyMode = False
    Selection.Delete Shift:=xlToLeft
    Range("E8").Select
    Sheets("Dateneinlese_Aufträge").Select
    Range("F6").Select
    ActiveSheet.Range("$A$1:$N$6063").AutoFilter Field:=4, Criteria1:="="
    ActiveSheet.Range("$A$1:$N$6063").AutoFilter Field:=14, Criteria1:="ok"
    Sheets("Dateneinlese_Rechnungen").Select
    Range("D5").Select
    ActiveSheet.Range("$A$1:$N$3005").AutoFilter Field:=8, Criteria1:="="
    Sheets("Streckengeschäft").Select
    Range("B300").Select
End Sub
Antworten Top
#2
Hallo

ich habe den Code mal verkürzt, bitte zuerst in einer Testdatei probieren, er ist ungetestet!  Auf Blatt.Select und Range.Select kann man verzichten und die Befehle .Copy und .PasteSpecial direkt an Range anhaengen. Das vereinfacht die Sache sehr.  Dann braucht man kein Blatt mit .Select umzuschalten. 

einen Fehler konnte ich auf Anhieb nicht erkennnen. Bleibt das Makro mit einem Laufzeitfehler stehen?? Dann müsste die defekte Zeile "gelb markiert" sein. Bitte mal darauf achten, vielleicht hilft uns das weiter den Fehler zu verstehen. 
mfg  Gast 123

Code:
Sub aktualsieren()
'
' aktualsieren Makro
   
   Range("B4:B21").Copy
   Range("C4").PasteSpecial Paste:=xlValues, Transpose:=False
   Range("B23:B294").Copy
   Range("C23").PasteSpecial Paste:=xlValues, Transpose:=False
   Range("E4:E21").Copy
   Range("F4").PasteSpecial Paste:=xlValues, Transpose:=False
   Range("E23:E294").Copy
   Range("F23").PasteSpecial Paste:=xlValues, Transpose:=False
   Range("I4:I21").Copy
   Range("J4").PasteSpecial Paste:=xlValues, Transpose:=False
   Range("I23:I294").Copy
   Range("J23").PasteSpecial Paste:=xlValues, Transpose:=False
   Range("L4:L21").Copy
   Range("M4").PasteSpecial Paste:=xlValues, Transpose:=False
   Range("L23:L294").Copy
   Range("M23").PasteSpecial Paste:=xlValues, Transpose:=False
   Application.CutCopyMode = False
   
   Sheets("Webshop").Select
   Range("B4:B15").Copy
   Range("C4").PasteSpecial Paste:=xlValues, Transpose:=False
   Range("E4:E15").Copy
   Range("F4").PasteSpecial Paste:=xlValues, Transpose:=False
   Range("I4:I15").Copy
   Range("J4").PasteSpecial Paste:=xlValues, Transpose:=False
   Range("L4:L15").Copy
   Range("M4").PasteSpecial Paste:=xlValues, ranspose:=False
   Application.CutCopyMode = False
   
   Sheets("Dateneinlese_Rechnungen").Select
   Rows("1:1").AutoFilter
   
   Sheets("Dateneinlese_Aufträge").Select
   Rows("1:1").AutoFilter
   
   Sheets("copy").Select
   Range("A1").Select
   With ActiveSheet.QueryTables.Add(Connection:= _
       "TEXT;Business Development:Sales Reports - nicht löschen!:Datenquelle:OIH Kopie.txt" _
       , Destination:=Range("A1"))
       .Name = "OIH Kopie"
       .FieldNames = True
       .RowNumbers = False
       .FillAdjacentFormulas = False
       .RefreshOnFileOpen = False
       .BackgroundQuery = True
       .RefreshStyle = xlInsertDeleteCells
       .SavePassword = False
       .SaveData = True
       .AdjustColumnWidth = True
       .TextFilePromptOnRefresh = False
       .TextFilePlatform = xlWindows
       .TextFileStartRow = 1
       .TextFileParseType = xlDelimited
       .TextFileTextQualifier = xlTextQualifierDoubleQuote
       .TextFileConsecutiveDelimiter = False
       .TextFileTabDelimiter = True
       .TextFileSemicolonDelimiter = False
       .TextFileCommaDelimiter = False
       .TextFileSpaceDelimiter = False
       .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
       .Refresh BackgroundQuery:=False
       .UseListObject = False
   End With
   
   Columns("A:K").Copy   'Copy in Sheet: "copy"
   Sheets("Dateneinlese_Aufträge").Columns("A:K") _
     .PasteSpecial Paste:=xlValues, Transpose:=False
   Application.CutCopyMode = False
   
   Cells.Delete Shift:=xlUp
   Range("A1").Select
   With ActiveSheet.QueryTables.Add(Connection:= _
       "TEXT;Business Development:Sales Reports - nicht löschen!:Datenquelle:Rechnungen Kopie.txt" _
       , Destination:=Range("A1"))
       .Name = "Rechnungen Kopie"
       .FieldNames = True
       .RowNumbers = False
       .FillAdjacentFormulas = False
       .RefreshOnFileOpen = False
       .BackgroundQuery = True
       .RefreshStyle = xlInsertDeleteCells
       .SavePassword = False
       .SaveData = True
       .AdjustColumnWidth = True
       .TextFilePromptOnRefresh = False
       .TextFilePlatform = xlWindows
       .TextFileStartRow = 1
       .TextFileParseType = xlDelimited
       .TextFileTextQualifier = xlTextQualifierDoubleQuote
       .TextFileConsecutiveDelimiter = False
       .TextFileTabDelimiter = True
       .TextFileSemicolonDelimiter = False
       .TextFileCommaDelimiter = False
       .TextFileSpaceDelimiter = False
       .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
       .Refresh BackgroundQuery:=False
       .UseListObject = False
   End With
   
   Columns("A:K").Copy   'Copy in Sheet: "copy"
   Sheets("Dateneinlese_Rechnungen").Columns("A:K") _
     .PasteSpecial Paste:=xlValues, Transpose:=False
   Application.CutCopyMode = False
   
   Columns("A:K").Delete Shift:=xlToLeft
   Range("E8").Select
   
   Sheets("Dateneinlese_Aufträge").Select
   Range("F6").Select
   ActiveSheet.Range("$A$1:$N$6063").AutoFilter Field:=4, Criteria1:="="
   ActiveSheet.Range("$A$1:$N$6063").AutoFilter Field:=14, Criteria1:="ok"
   
   Sheets("Dateneinlese_Rechnungen").Select
   Range("D5").Select
   ActiveSheet.Range("$A$1:$N$3005").AutoFilter Field:=8, Criteria1:="="
   
   Sheets("Streckengeschäft").Select
   Range("B300").Select
End Sub
Antworten Top
#3
(22.03.2017, 00:48)Gast 123 schrieb: Bleibt das Makro mit einem Laufzeitfehler stehen?? Dann müsste die defekte Zeile "gelb markiert" sein. Bitte mal darauf achten, vielleicht hilft uns das weiter den Fehler zu verstehen. 

Das steht doch im Eröffnungsbeitrag.

Gruß Uwe
Antworten Top
#4
Hallo

@Uwe   Danke, einfach überlesen, durch deinen Hinweis fiel mir aber auf das man den Code für leichtere Optik verkürzen kann, indem man den .Add Teil den Datei Namen ganz nach oben in eine Const Variable setzt, und im Makro die Variable "Datei" verwendet:
ganz nach oben:     Const Datei = "TEXT;Business Development:Sales Reports - nicht löschen!:Datenquelle:OIH Kopie.txt" 
Klammer aendern:   With ActiveSheet.QueryTables.Add(Connection:=Datei , Destination:=Range("A1"))

Die Frage ist, tritt der Fehler bereits bei der 1. With Klammer auf?  Ich nehme es an.  Unklar ist mir aber, warumdas gleiche Makro auf einem PC funktioniert, und bei der Kollegin nicht???

mfg Gast 123
Antworten Top
#5
Hallo zusammen,

das Problem sollte sich recht einfach lösen lassen, ohne dass ich mir das Konstrukt angeschaut habe.

Aussage:
Das Makro funktioniert auf seinem Rechner, auf anderen nicht.

Meldung:
Textdatei nicht gefunden

Meine Schlussfolgerung:
Entweder fehlende Zugriffsrechte im Netzwerk oder fehlende/falsche Dateiquelle(n) auf dem ausführendem Rechner.



Gruß Carsten
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste