Wer hat denn diesen Müll programmiert?
Der Code öffnet ( beser gesagt: würde öffnen, wenn er laufen würde) im angegebenen Verzeichnis die ERSTBESTE csv-Datei, und versucht dann aus einer Datei die "7110.CSV" heisst, auf das Blatt "7110" zuzugreifen und den Bereich "Range("B1" & ":" & "E16")" (warum schreibst du nicht nicht gleich Range("B1:E16") ???) zu kopieren.
Das kopierte versucht er dann in Range(a) - WAS ZUR HÖLLE IST RANGE(a) ?? - einzufügen.
Wenn es einen Range(a) gäbe, müsste das trotzdem so lauten (ZWEI ZEILEN):
Workbooks("7110.CSV").Worksheets("7110").Range("B1:E16
").Copy
ActiveSheet.Range(a).PasteSpecial Paste:=xlValues
Wenn du gerade eine Datei mit Namen "7110.CSV", die nur ein Blatt namens "
7110
" enthält, geöffnet hast, ist ActiveSheet logischerweise "
7110
" aus der Datei "7110.CSV"
!
Was soll dieser Block ?:
Dim strVerzeichnis As String
Dim StrDatei As String
Dim StrTyp As String
Dim Dateiname As String
strVerzeichnis = "C:\Users\u20p95\Desktop\Arbeit\Alois\Excel_Harmonics\Datei1\"
StrTyp = "*.CSV"
Dateiname = Dir(strVerzeichnis & StrTyp)
Workbooks.Open Filename:=strVerzeichnis & Dateiname
Warum nicht gleich:
Workbooks.Open Filename:="C:\Users\u20p95\Desktop\Arbeit\Alois\Excel_Harmonics\Datei1\*.CSV"
ohne erst umständlich versch. Variablen zu deklarieren, sie zu füllen und zu benutzen ????
Irgendwelche VBA-Befehle aneinander hängen und hoffen, dass es schon funktionieren wird, klappt vielleicht bei Harry Potter mit seinen Zaubersprüchen, aber nicht bei VBA.
|