ich bin noch recht am Anfang meiner VBA-Reise.
Ich habe einen Code geschrieben, der eine CSV-Datei zeilenweise einliest. Da ich nicht alle Informationen aus der CSV-Datei benötige, hab ich eine Schleife und eine If-Bedingung eingebaut. Ob diese Verschachtelung so schön ist oder ob man es so macht, weiß ich nicht..
Ich schreibe meistens außerhalb der eigentlichen Excel, in der es später läuft, um die Excel nicht so schnell durcheinander zu bringen.
Nun hat mein Code genau so funktioniert, wie ich das wollte. Nach dem Übertragen in die Excel und Ansprechen des Tabellenblattes ("Computed"), in das die Daten sollen, läuft das Makro nicht mehr, bzw. er "rechnet" ewig, in einem neu hinzugefügten Blatt in derselben Excel funktioniert es aber.
Ich hatte das Problem schonmal und weiß nicht, warum es hier aber nicht dort funktioniert.
Mein Code sieht folgend aus:
Sub exportCSV_importieren()
Dim QuellDatei As String 'Speicherort der Textdatei
Dim Inhalt As String 'Inhalt der TextDatei
Dim Informationen() As String 'Array der TextDatei
Dim Zeile%, Spalte%, letztezeile As Integer '% = Kurzform vom Datentyp Integer
Dim i%, k As Integer 'Laufvariablen
Dim Kanäle%, Export%, irrelevant As Integer
Kanäle = 4
Export = 11
irrelevant = 6
'Variablen Startwerte zuweisen
Zeile = 4
Spalte = 14
'QuellDatei ansprechen
QuellDatei = ThisWorkbook.Path & "\Filterung\export.csv"
'QuellDatei öffnen
Open QuellDatei For Input As #1
'Informationen in das Tabellenblatt eintragen
Do While Not EOF(1) 'Schleife läuft bis DatenEnde erreicht (EOF = End of File)
'Inhalt der QuellDatei zeilenweise einlesen
Line Input #1, Inhalt
Informationen = Split(Inhalt, ",")
For i = 0 To UBound(Informationen)
For k = 0 To Export
If k > irrelevant Then
If k Mod 2 0 Then
Sheets("Computed").Cells(Zeile, Spalte) = Informationen(i)
Spalte = Spalte + 1
End If
End If
i = i + 1
Next k
k = 0
Zeile = Zeile + 1
Spalte = 14
Next i
Loop
Close #1
End Sub
Die Werte für Kanäle/Export/irrelevant sollen variabel bleiben und später noch angefragt werden.
Vielleicht kann mir ja einer, erstmal ohne die Arbeitsmappe, helfen oder sagen, ob es am Code liegt oder in der Excel irgendwas "los ist".
Lieben Gruß