Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA ListBox Formel jeweils für jeden Eintrag
#1
Hallo,

ich habe eine ListBox mit 6 Einträgen, die zu einer anderen ListBox führen, bei der man einige Daten anklicken kann. Das hab ich so für einen Filter in einer Userform gemacht.
Wenn jetzt der erste Eintrag aus der ersten ListBox gewählt wird, soll diese Formel laufen: 

Code:
Sheets("Tabelle1).Range("Daten").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Sheets("Daten2").Range( _
"I2:K39"), CopyToRange:=Sheets("Daten3").Range("B17:M19"), Unique:=False
Wenn der zweite Eintrag in der ListBox gewählt wird, soll die Formel laufen:
Code:
Sheets("Tabelle2").Range("Daten4").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Sheets("Daten5").Range( _
"I2:K39"), CopyToRange:=Sheets("Daten6").Range("B19:K19"), Unique:=False

und so weiter...

Beim ersten Eintrag schaffe ich es noch. Ich schaffe es aber nicht, die anderen Formeln mit den anderen ListBox Einträgen zu verknüpfen.

Ist es möglich, dass ich in VBA sage, wenn in ListBox1 ("Test2") ausgewählt wird, soll die erste Formel starten und wenn in ListBox1 ("Test3") ausgewählt wird die zweite Formel.

Wäre für eure Hilfe sehr dankbar.

Viele Grüße

MiBi
Antwortento top
#2
Hallo,
  Select Case ListBox1.Value
Case "Test2"
Sheets("Tabelle1").Range("Daten").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sheets("Daten2").Range("I2:K39"), _
CopyToRange:=Sheets("Daten3").Range("B17:M19"), Unique:=False
Case "Test3"
Sheets("Tabelle2").Range("Daten4").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sheets("Daten5").Range("I2:K39"), _
CopyToRange:=Sheets("Daten6").Range("B19:K19"), Unique:=False
End Select
Gruß Uwe
Antwortento top
#3
Danke nochmal Uwe. Jetzt erscheint allerdings das nächste Problem -.-
Mit dem Code filtere ich ja die Daten aus verschiedenen Tabellen. Wenn ich nun aus der ListBox einen anderen Eintrag wähle, erscheint eine Fehlermeldung, weil die anderen Daten nicht die selbe Spaltenanzahl haben und er den alten Filter nicht überschreiben will oder kann. Kann ich, wenn ich einen anderen ListBox Eintrag wähle, die Daten von dem Filter davor löschen ? Ich hoffe du verstehst was ich meine :D Also das bei dem Code B17:M19 gelöscht wird und dann der nächste Filter auch bei B17:M19 beginnen kann.
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste