Am Verzweifeln: Excel Filter automatisch aktualisieren?

Hallo liebe Community,

ich weiß, es gibt mehrere Leute, die diese Frage schon gestellt haben, aber ich bekomme es einfach nicht hin. Vielleicht habe ich auch nur gerade eine Denk(Dummheits)Blockade, versuche das seit ca 2 Stunden zu realisieren.

Ich habe eine Tabelle mit diversen Daten und ein (Balken)Diagramm, welches für jede weitere Zeile in der Tabelle einen neuen Balken hinzufügen sollte. Das ist an sich nicht schwer, aber ich möchte, solange noch keine Daten vorhanden sind, keine leeren Stellen im Diagramm... (siehe: https://gyazo.com/346a1e059ea781ea82d471505856904a) ...und das kriege ich nicht hin.

Ich habe eine Hilfstabelle gemacht und einen Filter darüber gelegt, dass alle leeren ("") Zellen ausgeblendet werden, das funktioniert auch soweit im Diagramm, aber ich muss nach jedem Eintrag in die eigentliche Tabelle wieder den Filter von Hand aktualisieren und das ist ärgerlich.

Ich hoffe ihr könnt mir helfen, sonst sehe ich schwarz für meinen PC und mein Fenster (und eventuelle Fußgänger). Erklärt es am besten so, wie ihr es einem 6 Jährigen erklären würdet. :)

Grüße Tuesday

/ps: Was ich bisher ausgegraben habe und (vermutlich wegen mangelnder - bis nicht existenter - VBA Kenntnis) nicht funktioniert hat:

  • office-loesung.de/ftopic93223_0_0_asc.php
  • office-loesung.de/ftopic60304_0_0_asc.php
  • gutefrage.net/frage/excel-gefilterte-daten-automatisch-aktualisieren
Microsoft Excel, Filter, VBA, Aktualisieren
Excel-Code für Mehrfachauswahl in Dropdown-Listen?

Hallo zusammen,

Ich versuche gerade ein Excel-Dokument zu erstellen, bei dem eine Mehrfachauswahl aus Dropdown-Listen möglich ist. Das heißt aus einer Liste sollte es möglich sein mehrere Werte anzuwählen. Das habe ich auch mit dem untenstehenden VisualBasic-Code gemeistert. Allerdings habe ich erstens das Problem, dass auch eine Mehrfachauswahl des immer gleichen Wertes möglich ist. Theoretisch könnte also in einer Zelle x-mal derselbe Werte auftauchen. Dies soll natürlich nicht möglich sein. Bei Doppelauswahl desselben Wertes soll dieser aus der Zelle wieder verschwinden.

Mein zweites Problem ist, dass ich bislang nur 2 zwei Dropdown-Listen mit Mehrfachauswahl eingefügt bekomme. Sobald ich eine dritte Spalte versuche zu implementieren, bekomme ich eine Fehlermeldung für meinen Code.

Dadurch, dass ich mich mit dem Ganzen nicht so wirklich auskenne, wäre es sehr nett, wenn mir jemand helfen könnte.

Danke!

 

Bisheriger Code:

 

Private Sub Worksheet_Change(ByVal Target As Range)

** Mehrfachauswahl über DropDown-Liste

'** Einfügen im Code-Container des betreffenden Arbeitsblattes

 

'** Dimensionierung der Variablen

Dim rngDV As Range

Dim wert_old As String

Dim wertnew As String

 

'** Errorhandling

On Error GoTo Errorhandling

 

'** Mehrfachauswahl im definierten Bereich "Abteilungen" und "Themen" (Bsp. J2:J2000, I2:I2000) durchführen

If Not Application.Intersect(Target, Range("J2:J2000", "I2:I2000")) Is Nothing Then

 

 '**Range definieren

 Set rngDV = Target.SpecialCells(xlCellTypeAllValidation)

 If rngDV Is Nothing Then GoTo Errorhandling

  

 '** Prüfen, ob eine gültige Zelle ausgewählt wurde und Werte eintragen

 If Not Application.Intersect(Target, rngDV) Is Nothing Then

   Application.EnableEvents = False

   wertnew = Target.Value

   Application.Undo

   wertold = Target.Value

   Target.Value = wertnew

   If wertold <> "" Then

     If wertnew <> "" Then

       Target.Value = wertold & ", " & wertnew

     End If

   End If

 End If

 Application.EnableEvents = True

End If

 

Errorhandling:

Application.EnableEvents = True

End Sub

Visual Basic, Microsoft Excel, VBA, Dropdownliste
Excel VBA Datenüberprüfung beim Einfügen (Strg+V) von Text in Zelle aufrecht erhalten?

Hallo zusammen,

ich greife gerade im Rahmen eines Projekts per Datenüberprüfung auf eine Auswahl von 6000+ Zellen zu und möchte falls ein Teil, das nicht zu den 6000 gehört eine Fehlermeldung ausgeben. Nun habe ich die Problematik, dass die Zelle mit der Datenüberprüfung eine Eingabezelle sein wird, d. h. der Benutzer wird Werte aus anderen XML Dokumenten hereinkopieren. Dies Formatiert die Zelle aber Standardmäßig um und entfernt die eingerichtete Datenüberprüfung.

Gibt es hier eine einfache Lösung dies zu verhindern? Ich habe es auch schon mit Excel VBA versucht (s. Quelltext) aber hier konnte ich nur die Datenüberprüfung nachdem sie entfernt wurde wieder hinzufügen. Das Problem hierbei ist, dass dem User keine Fehlermeldung angezeigt wird nachdem er den Text in die Zelle kopiert hat.

Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$A$2" Then

With Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertWarning, Operator _
        :=xlBetween, Formula1:="='Zuord. Teil-Kart. Datenquelle '!$A$1:$A$6168"
        .IgnoreBlank = True
        .InCellDropdown = False
        .InputTitle = ""
        .ErrorTitle = "Teil nicht verfügbar"
        .InputMessage = ""
        .ErrorMessage = _
        "Teil nicht verfügbar, da:" & Chr(10) & "a) Teil existiert nicht" & Chr(10) & "b) Teil existiert, wird aber nicht in Kartonage verpackt --> Manuelle Frachtberechnung nötig" & Chr(10) & "c) Teil ist neu --> Rückmeldung an *** / ***"
        .ShowInput = True
        .ShowError = True
    End With
End If
Microsoft Excel, VBA