ich versuche schon eine ganze Weile das Makro zu schreiben, stoße aber an meine Grenzen und bitte daher hier um Hilfe.
Ich habe eine Datei mit viele Spalten. Ich würde gerne die Datei nach bestimmten Spaltennamen durchsuchen lassen und diese ausgewählten Spalten in eine komplett neue Datei (am besten durch das Makro erstellt) einfügen lassen, sodass ich am Ende 1 neue Datei habe in der nur die "ausgewählten" (nach Name) Spalten vorkommen.
Aktuell verwende ich von diesen Code, der die Spalten (hier mit 3 Beispielen) richtig erfasst und in ein neues Sheet schreibt. Allerdings übernimmt es hier nur die Inhalte und nicht den Spaltennamen, was ich nicht verstehe. Zudem würde ich statt in ein neues Sheet lieber in eine neue Datei schreiben
"
Private Sub Workbook_Open()
Application.DisplayAlerts = False
Worksheets("Daten").Activate
maxRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
maxCol = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column
For i = 1 To maxCol
cHeader = ActiveSheet.Cells(1, i).Value
Select Case cHeader
Case "Anrede": cAnrede = i
Case "Nachname": cNachname = i
Case "Vorname": cVorname = i
End Select
Next i
Worksheets("OP1").Activate
actRow = 2
For i = 2 To maxRow
actRow = actRow + 1
If (cAnrede) Then
If (Worksheets("Daten").Cells(i, cAnrede).Formula "") Then
ActiveSheet.Cells(actRow, 1).Value = Worksheets("Daten").Cells(i, cAnrede).Formula
End If
End If
If (cUhrzeit) Then
If (Worksheets("Daten").Cells(i, cNachname).Formula "") Then
ActiveSheet.Cells(actRow, 2).Value = Worksheets("Daten").Cells(i, cNachname).Formula
End If
End If
If (cVorname) Then
If (Worksheets("Daten").Cells(i, cVorname).Formula "") Then
ActiveSheet.Cells(actRow, 3).Value = Worksheets("Daten").Cells(i, cVorname).Formula
End If
End If
Next i
Application.DisplayAlerts = True
End Sub
"Kann mir damit jemand weiterhelfen? Ich wäre sehr dankbar
Mit freundlichen Grüßen
Frank