EXCEL VBA Termindaten aus Tabelle Filtern
Hallo, ich habe hier folgenden Codeblock gefunden für VBA im Excel:
Das ganze funktioniert auch soweit super. Ich beschreibe am besten einmal was ich will: Aus einer riesigen Terminplantabelle (Spalten von A bis C0, Zeilen bis zu 1500) im Excel brauche ich bestimmte Termindaten. Mit obigen Code erhalte ich diese auch. Allerdings kommen die Daten öfters vor, da in der Tabelle mehrere Projekte hinterlegt sind, z.B. pro Terminplan 3 Projekte. Zur besseren Erkennung ist jedes Projekt farblich unterlegt. Jedes Projekt hat gleiche Terminnamen, nur das Datum ist eben anders.
Ich brauche jetzt also ein Code, der in der lage ist die Projekte zu unterscheiden, damit ich mit obrigen Code immer die Termindaten so erhalte, dass sie zum Projekt passen. Versteht ihr was ich meine?
Leider bin ich absoluter VBA-Anfänger, muss mir aber eben jetzt was zusammenbasteln, damit ich meine Daten möglichst einfach und schnell aus den verschiedenen Terminplantabellen erhalte.
Hoffe ihr versteht mich und könnt mir helfen. Für jeden Ratschlag und Tip danke ich im Voraus!
Beste Grüße
Const SpalteSuchen = "B:B" ' Spalte Suchen
Const DatenSpalteVon = "A" ' Daten kopieren von Spalte
Const DatenSpalteBis = "E" ' Daten kopieren bis Spalte
Const ZielSpalte = "A" ' Spalte Ziel-Tabelle
Sub Suchen()
Dim WksQ As Worksheet, WksZ As Worksheet, Suchliste As Variant, Token As Variant, Eingabe As String
Eingabe = InputBox("Bitte Suchbegriffe Komma-Getrennt eingeben:", "Suchliste...")
If Eingabe = "" Then Exit Sub
Set WksQ = Sheets(SheetQuelle)
Set WksZ = Sheets(SheetZiel): WksZ.Cells.Clear
'Überschriftzeile in Ziel-Tabelle schreiben
Range(WksQ.Cells(1, DatenSpalteVon), WksQ.Cells(1, DatenSpalteBis)).Copy WksZ.Cells(1, ZielSpalte)
Suchliste = Split(Eingabe, ",")
For Each Token In Suchliste
If Token <> "" Then Call SearchAndCopy(WksQ, Trim(Token), WksZ)
Next
End Sub
Private Sub SearchAndCopy(ByRef WksQ, ByRef Token, WksZ)
Dim Found As Range, Suchtext As String, ZeileQ As Long, ZeileZ As Long
With WksQ
Suchtext = "" & Token & "" 'Teilübereinstimmung vor und nach mit "*"
If .Range(SpalteSuchen).AutoFilter(Field:=1, Criteria1:=Suchtext, VisibleDropDown:=False) Then
ZeileQ = WksQ.Cells(WksQ.Rows.Count, "C").End(xlUp).Row
ZeileZ = WksZ.Cells(WksZ.Rows.Count, "C").End(xlUp).Row + 1
Range(.Cells(2, DatenSpalteVon), .Cells(ZeileQ, DatenSpalteBis)).Copy WksZ.Cells(ZeileZ, ZielSpalte)
End If
.AutoFilterMode = False
End With
End Sub
Ich brauche jetzt also ein Code, der in der lage ist die Projekte zu unterscheiden, damit ich mit obrigen Code immer die Termindaten so erhalte, dass sie zum Projekt passen. Versteht ihr was ich meine?
Leider bin ich absoluter VBA-Anfänger, muss mir aber eben jetzt was zusammenbasteln, damit ich meine Daten möglichst einfach und schnell aus den verschiedenen Terminplantabellen erhalte.
Hoffe ihr versteht mich und könnt mir helfen. Für jeden Ratschlag und Tip danke ich im Voraus!
Beste Grüße
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 317704
Url: https://administrator.de/contentid/317704
Ausgedruckt am: 23.11.2024 um 08:11 Uhr