Option Explicit ' ''Zusammenführen der Werte in den Spalten A&B in Spalte A ' 'Sub Textteilezusammenführen() 'Sheets("Tabelle1").Activate 'Wähle das richtige Datenblatt 'Range("B1").Select 'Orientierung oben in Spalte 2 (B1) ' ' Do Until ActiveCell.Offset(0, -1).Value = "" 'Beende Prozess, wenn Spalte1 = leer ' If ActiveCell.Value <> 0 Then 'Wenn B1 nicht leer, dann ' ActiveCell.Offset(0, -1).Value = _ ' ActiveCell.Offset(0, -1).Value & ActiveCell.Value 'setze A1 = A1&B1 ' ActiveCell.ClearContents 'und lösche B1 ' Else 'Wenn B1 leer, dann ' ActiveCell.Offset(1, 0).Select 'springe eine Zeile nach unten ' End If ' Loop 'und prüfe wieder 'End Sub ''Dateinamen in Zelle schreiben 'Sub DateienErmitteln() 'Dim verz As String 'Dim s As String ' 'verz = "C:\Users\Jonas\Desktop\test\" ' Definiere Source-Ordner als "verz" 'ChDrive verz ' gehe auf das Laufwerk von verz 'ChDir verz ' gehe in den Ordner verz ' 'Sheets("Tabelle2").Activate ' Tabellenblatt auswählen 'Range("A1").Select ' Spalte 1 auswählen 's = Dir(verz) ' Definiere s als directory listing von verz '' s = Dir(verz & "*.xlsx") 'nimmt nur xlsx-Dateien in die Liste auf ' 'Do While s <> "" ' Wenn s != leer 'ActiveCell.Value = s ' fülle Zelle A1 mit s 'ActiveCell.Offset(1, 0).Select ' springe eine Zeile runter 's = Dir ' hmmmmmmmmm 'Loop ' wiederhole anweisung 'End Sub 'Countif nach Duplikaten in erster Zeile Sub countif() Columns("A:A").Select Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove Range("A1").Select ActiveCell.FormulaR1C1 = "Duplikate" Range("A2").Select ActiveCell.FormulaR1C1 = "=COUNTIF(RC[1]:R8C2,RC[1])" Range("A2").Select Selection.AutoFill Destination:=Range("A2:A8") ActiveWorkbook.SaveAs Filename:= _ "C:\Users\Jonas\Desktop\out\test_processed.csv", FileFormat:=xlCSV, _ CreateBackup:=False Dim wsh As Object 'Öffne cmd.exe zum Ausführen von De-Dupe Split Set wsh = VBA.CreateObject("WScript.Shell") Dim waitOnReturn As Boolean: waitOnReturn = True Dim windowStyle As Integer: windowStyle = 1 Dim errorCode As Integer wsh.Run "cmd.exe /S /K" & "cd C:\Users\Jonas\Desktop\out\", windowStyle, waitOnReturn ' öffnet die cmd und geht in den richtigen Ordner. Wie trage ich einen weiteren Befehl ein? ' wsh.Run "cmd.exe /S /K" & "csvfix file_split -f 1 -fd files -fp duplikate_ C:\Users\Jonas\Desktop\out\test_processed.csv", windowStyle, waitOnReturn Fehlerhaft End Sub 'mehrere Dateien bearbeiten Sub ProcessFiles() Dim Filename, Pathname As String Dim wb As Workbook 'Definiere wb als Workbook Pathname = ActiveWorkbook.Path & "\Files\" 'gehe in den Pfad des aktuellen Datei, wähle Unterverzeichnis "Files" Filename = Dir(Pathname & "*.csv") 'Liste alle files mit "Pfad\*.csv" auf Do While Filename <> "" 'solange filename != 0 Set wb = Workbooks.Open(Pathname & Filename) 'Setze wb auf ??? DoWork wb 'Führe Subroutine DoWork für wb aus wb.Close SaveChanges:=True 'Speichere wb Filename = Dir() 'nächste Datei ??? Loop End Sub Sub DoWork(wb As Workbook) With wb 'Für alle wb 'Do your work here 'Lösche erste Spalte, Columns("A:A").Select Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _ Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _ :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1)), _ TrailingMinusNumbers:=True Selection.ClearContents Selection.Delete Shift:=xlToLeft Rows("1:1").Select Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove 'Füge Header hinzu Range("A1").Select ActiveCell.FormulaR1C1 = "email" Range("B1").Select ActiveCell.FormulaR1C1 = "firstname" Range("C1").Select ActiveCell.FormulaR1C1 = "lastname" Range("D1").Select ActiveCell.FormulaR1C1 = "nummer" ActiveWorkbook.Save 'Speichere End With End Sub