AW: Ganze Zeile kopieren, wenn eine Zelle le
03.02.2022 23:34:47
Yal
Hallo Klaus,
A,B,M,O und T sind die Spalte 1,2,13,15 und 20. Warum prüftst Du die Spalte 11, 14, 15, ... ?
Probier folgendes. Datei wird als Textdatei gelesen, dann bei Treffer ins Excel eingefügt.
Du brauchst einen Verweis (Extras, Verweis...) auf "Microsoft Scripting Runtime", um FileSystemObject und Textstream zu verwenden.
csv-Pfad anpassen.
Sub CSV_lesen()
Dim FSO As New FileSystemObject
Dim TS As TextStream
Dim wsZ As Worksheet
Dim Arr, S
Set wsZ = Workbooks("SpaltenÜberprüfen v0.1.xlsb").Worksheets("Tabelle2")
Set TS = FSO.OpenTextFile("C:\temp\urliste-Kopie.csv", ForReading)
Do While Not TS.AtEndOfStream
Arr = Split(TS.ReadLine, ";")
If LCase(Trim(Arr(5))) = "standard" Then
For Each S In Array(0, 1, 12, 14, 19) 'A,B,M,O, T aber Array fängt mit 0 an
If Arr(S) = "" Then
wsZ.Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, UBound(Arr) + 1) = Arr
Exit For 'nicht mehrfach kopieren
End If
Next
End If
Loop
TS.Close
End Sub
Sollte dein csv (mit Notepad öffnen, um zu prüfen) doppelte Hochkommatas verwenden, um die Text zu delimitieren, dann eventuell so prüfen
If Arr(S) = """""" Then
VG
Yal