23.02.2024, 11:50
Hallo zusammen,
ich stehe auf dem Schlauch...
Das ist mein Makro (was auch eigentlich funktioniert und macht was es soll):
Das Ergebnis des Makros ist:
=@FILTER(Laserteile!C:C; Laserteile!BV:BV="Aktiviert")
Wo kommt das @Zeichen her? Warum ist es da?
Das macht leider meine Formel "kaputt". Denn mit dem @ Zeichen wird nur ein Ergebnis gefunden. Ohne @ Zeichen 4 (was auch korrekt ist).
Ich hab schon alles probiert, um im Makro das @ Zeichen zu entfernen. Nichts funktioniert.
Habt ihr eine Idee?
ich stehe auf dem Schlauch...
Das ist mein Makro (was auch eigentlich funktioniert und macht was es soll):
Code:
Sub UpdateFilterFormula()
Dim wsBestellliste As Worksheet
Dim wsLaserteile As Worksheet
Dim selectedKW As String
Dim kwRange As Range
Dim kwCell As Range
Dim kwColumn As String
Dim filterFormula As String
Dim targetCell As Range
' Definieren der Arbeitsblätter
Set wsBestellliste = ThisWorkbook.Sheets("Bestellliste")
Set wsLaserteile = ThisWorkbook.Sheets("Laserteile")
' Ermitteln der ausgewählten KW aus dem Dropdown-Feld
selectedKW = wsBestellliste.Range("AC2").Value
' Überprüfen, ob die ausgewählte KW gültig ist
If Not (selectedKW Like "KW*") Then
MsgBox "Bitte wählen Sie eine gültige KW aus."
Exit Sub
End If
' Definieren des Bereichs, der die KWs in Laserteile enthält (BV1 bis DV1)
Set kwRange = wsLaserteile.Range("BV1:DV1")
' Durchsuchen des Bereichs, um die entsprechende KW-Spalte zu finden
For Each kwCell In kwRange
If kwCell.Value = selectedKW Then
kwColumn = Split(kwCell.Address, "$")(1)
Exit For
End If
Next kwCell
' Überprüfen, ob die ausgewählte KW gefunden wurde
If kwColumn = "" Then
MsgBox "Die ausgewählte KW wurde nicht gefunden."
Exit Sub
End If
' Erstellen der neuen Filterformel basierend auf der ausgewählten KW-Spalte
filterFormula = "=FILTER(Laserteile!C:C, Laserteile!" & kwColumn & ":" & kwColumn & "=""Aktiviert"")"
' Entfernen des @-Symbols aus der Formel
filterFormula = Replace(filterFormula, "@", "")
' Definieren der Zielzelle (C5 auf dem Blatt "Bestellliste")
Set targetCell = wsBestellliste.Range("C5")
' Deaktivieren von AutoAnwendung für die Zielzelle
targetCell.Parent.EnableAutoFilter = False
' Setzen der Formel in die Zielzelle
targetCell.Value = filterFormula
' Aktivieren von AutoAnwendung für die Zielzelle
targetCell.Parent.EnableAutoFilter = True
End Sub
Das Ergebnis des Makros ist:
=@FILTER(Laserteile!C:C; Laserteile!BV:BV="Aktiviert")
Wo kommt das @Zeichen her? Warum ist es da?
Das macht leider meine Formel "kaputt". Denn mit dem @ Zeichen wird nur ein Ergebnis gefunden. Ohne @ Zeichen 4 (was auch korrekt ist).
Ich hab schon alles probiert, um im Makro das @ Zeichen zu entfernen. Nichts funktioniert.
Habt ihr eine Idee?