Mehrere Werte aus großer Liste anzeigen
Hi
Moin @ all,
ich habe eine Problem & zwar habe ich eine Liste die sich durch Formulare füllt, allerdings möchte ich das wenn in Spalte G kein X steht, aber in Spalte B eine Nummer, das er mir die ausgibt, sverweis schön und gut allerdings gibt er mir da immer nur den 1. Wert aus ohne X, da die Liste von 16-6000 geht, möchte ich keine so riesen Liste sondern es gibt maximal 12 Werte ohne X mit ausgefüllter B Spalte. Ich dachte zuerst an ein Button den ich drücke worauf er per VBA abfragt in welcher Zeile etwas steht und kein X in Spalte G ist damit er dann mir den Wert aus Spalte B also Messagebox ausgibt, allerdings habe ich keine Ahnung wie ich das per VBA oder Formel realisieren kann.
Mfg Acrysis
ich habe eine Problem & zwar habe ich eine Liste die sich durch Formulare füllt, allerdings möchte ich das wenn in Spalte G kein X steht, aber in Spalte B eine Nummer, das er mir die ausgibt, sverweis schön und gut allerdings gibt er mir da immer nur den 1. Wert aus ohne X, da die Liste von 16-6000 geht, möchte ich keine so riesen Liste sondern es gibt maximal 12 Werte ohne X mit ausgefüllter B Spalte. Ich dachte zuerst an ein Button den ich drücke worauf er per VBA abfragt in welcher Zeile etwas steht und kein X in Spalte G ist damit er dann mir den Wert aus Spalte B also Messagebox ausgibt, allerdings habe ich keine Ahnung wie ich das per VBA oder Formel realisieren kann.
Mfg Acrysis
Please also mark the comments that contributed to the solution of the article
Content-Key: 180492
Url: https://administrator.de/contentid/180492
Printed on: May 8, 2024 at 04:05 o'clock
6 Comments
Latest comment
Hallo Acrysis!
Da Du leider Deine Kiste nicht näher beschreibst, unterstelle ich mal, dass es in Spalte A in jeder Zeile einen Eintrag gibt (bzw, dass die Liste endet, wenn in Spalte A kein Inhalt vorhanden ist) und dass die Daten ab Zeile 2 zu finden sind - in diesem Fall könnte das in VBA etwa so gehen:
Grüße
bastla
Da Du leider Deine Kiste nicht näher beschreibst, unterstelle ich mal, dass es in Spalte A in jeder Zeile einen Eintrag gibt (bzw, dass die Liste endet, wenn in Spalte A kein Inhalt vorhanden ist) und dass die Daten ab Zeile 2 zu finden sind - in diesem Fall könnte das in VBA etwa so gehen:
Sub FindeWerte()
ZeileVon = 2
SpalteLfd = "A"
Spalte1 = "B"
Spalte2 = "G"
Zeile = ZeileVon
Do Until Cells(Zeile, SpalteLfd).Value = ""
If Cells(Zeile, Spalte1).Value <> "" And Cells(Zeile, Spalte2).Value = "" Then Ausgabe = Ausgabe & vbCrLf & Cells(Zeile, Spalte1).Value
Zeile = Zeile + 1
Loop
MsgBox Mid(Ausgabe, 3), vbInformation + vbOKOnly, "Ergebnisse"
End Sub
bastla
Hallo Acrysis!
Die Laufzeit wird ja vermutlich kein großes Thema sein, ließe sich aber etwas verbessern, wenn die Abfrage nach der Spalte G nur einmal erfolgt:
Grüße
bastla
kann ich das auch mit Bindestrich in einer Zeile haben
Dazu brauchst Du ja nur das Trennzeichen "Zeilenschaltung" (vbCrLf
" durch das gewünschte Zeichen ersetzen, also etwa:If Cells(Zeile, Spalte3).Value <> "" And Cells(Zeile, Spalte2).Value = "" Then Ausgabe = Ausgabe & " - " & Cells(Zeile, Spalte3).Value
...
If Cells(Zeile, Spalte2).Value = "" Then
If Cells(Zeile, Spalte1).Value <> "" Then Ausgabe = Ausgabe & vbCrLf & Cells(Zeile, Spalte1).Value
If Cells(Zeile, Spalte3).Value <> "" Then Ausgabe = Ausgabe & " - " & Cells(Zeile, Spalte3).Value
If Cells(Zeile, Spalte4).Value <> "" Then Ausgabe = Ausgabe & " - " & Cells(Zeile, Spalte4).Value
If Cells(Zeile, Spalte5).Value <> "" Then Ausgabe = Ausgabe & " - " & Cells(Zeile, Spalte5).Value
End If
...
bastla
Hallo Acrysis!
Da ja die Aufnahme in die Variable "Ausgabe" von 2 verschiedenen Zellen abhängt, müssen ggf auch beide Abfragen angepasst werden (was ganz nebenbei mit meinem zuletzt geposteten Vorschlag - also
vorweg - leichter zu realisieren sein sollte ...
Grüße
bastla
Da ja die Aufnahme in die Variable "Ausgabe" von 2 verschiedenen Zellen abhängt, müssen ggf auch beide Abfragen angepasst werden (was ganz nebenbei mit meinem zuletzt geposteten Vorschlag - also
If Cells(Zeile, Spalte2).Value = "" Then
Grüße
bastla