Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Mehrere Werte aus großer Liste anzeigen

Frage Microsoft Microsoft Office

Mitglied: Acrysis

Acrysis (Level 1) - Jetzt verbinden

14.02.2012 um 09:37 Uhr, 3831 Aufrufe, 6 Kommentare

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
Mitglied: bastla
14.02.2012 um 12:22 Uhr
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:
01.
Sub FindeWerte() 
02.
ZeileVon = 2 
03.
SpalteLfd = "A" 
04.
Spalte1 = "B" 
05.
Spalte2 = "G" 
06.
 
07.
Zeile = ZeileVon 
08.
Do Until Cells(Zeile, SpalteLfd).Value = "" 
09.
    If Cells(Zeile, Spalte1).Value <> "" And Cells(Zeile, Spalte2).Value = "" Then Ausgabe = Ausgabe & vbCrLf & Cells(Zeile, Spalte1).Value 
10.
    Zeile = Zeile + 1 
11.
Loop 
12.
MsgBox Mid(Ausgabe, 3), vbInformation + vbOKOnly, "Ergebnisse" 
13.
End Sub
Grüße
bastla
Bitte warten ..
Mitglied: Acrysis
14.02.2012 um 14:29 Uhr
Meine Kiste sieht so aus:

Ein Formular wird geöffnet, man trägt daten ein und es wird von Spalte A - F reingeschrieben, mit dem 2. Formular beendet man den Vorgang und es wird ein X in Spalte G geschrieben. Dadurch wird die Fahrt beendet.

Da ja nun allerdings mehrere Leute eine Fahrt eröffnen mit unterschiedlichen Benutzernummern (Spalte B), soll man per Messagebox am besten sehen können nachdem man auf einen Button geklickt hab welcher Benutzer die Fahrt noch nicht beendet hat, sprich solange Spalte A-F in einer Zeile vorhanden ist, allerdings in Spalte G noch kein X für die beendigung steht, sollen die Benutzernummern angezeigt werden.

so mein vorgehen
Bitte warten ..
Mitglied: Acrysis
14.02.2012 um 15:05 Uhr
Hey bastla, das funktioniert super, wenn ich mehr Werte dazu nehme schmeißt er mir das direkt untereinander, kann ich das auch mit Bindestrich in einer Zeile haben, ab dem nächsten B wert die nächste Zeile in der Msg Box ?

bei mir sieht's nun so aus


Sub findewert()

ZeileVon = 16
SpalteLfd = "A"
Spalte1 = "B"
Spalte2 = "G"
Spalte3 = "O"
Spalte4 = "P"
Spalte5 = "Q"

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
If Cells(Zeile, Spalte3).Value <> "" And Cells(Zeile, Spalte2).Value = "" Then Ausgabe = Ausgabe & vbCrLf & Cells(Zeile, Spalte3).Value
If Cells(Zeile, Spalte4).Value <> "" And Cells(Zeile, Spalte2).Value = "" Then Ausgabe = Ausgabe & vbCrLf & Cells(Zeile, Spalte4).Value
If Cells(Zeile, Spalte5).Value <> "" And Cells(Zeile, Spalte2).Value = "" Then Ausgabe = Ausgabe & vbCrLf & Cells(Zeile, Spalte5).Value
Zeile = Zeile + 1
Loop
MsgBox Mid(Ausgabe, 3), vbInformation + vbOKOnly, "Fahrender Picker"

End Sub
Bitte warten ..
Mitglied: bastla
14.02.2012 um 16:45 Uhr
Hallo Acrysis!
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
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:
01.
... 
02.
If Cells(Zeile, Spalte2).Value = "" Then 
03.
    If Cells(Zeile, Spalte1).Value <> "" Then Ausgabe = Ausgabe & vbCrLf & Cells(Zeile, Spalte1).Value 
04.
    If Cells(Zeile, Spalte3).Value <> "" Then Ausgabe = Ausgabe & " - " & Cells(Zeile, Spalte3).Value 
05.
    If Cells(Zeile, Spalte4).Value <> "" Then Ausgabe = Ausgabe & " - " & Cells(Zeile, Spalte4).Value 
06.
    If Cells(Zeile, Spalte5).Value <> "" Then Ausgabe = Ausgabe & " - " & Cells(Zeile, Spalte5).Value 
07.
End If 
08.
...
Grüße
bastla
Bitte warten ..
Mitglied: Acrysis
09.03.2012 um 10:18 Uhr
Moin, sorry das ich den Thread nochmal aufhole, aber ich habe 3 Spalten hinzugefügt und die Abfrage von neu abgefangen, allerdings funtkioniert es nun nicht mehr. Wenn ich auf den Button klicke bekomme ich eine leere Box.....
Bitte warten ..
Mitglied: bastla
09.03.2012 um 10:49 Uhr
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
If Cells(Zeile, Spalte2).Value = "" Then
vorweg - leichter zu realisieren sein sollte ...

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Outlook & Mail
Outlook 2013 mehrere kalender in Aufgabenleiste anzeigen lassen

Frage von montana zum Thema Outlook & Mail ...

XML
gelöst XML - XSLT Formatierung mehrere verschiedene Werte (13)

Frage von chrisen zum Thema XML ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(10)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Router & Routing

PfSense auf Supermicro Intel Xeon D-15x8 SoC Bare Bone

Tipp von Dobby zum Thema Router & Routing ...

Heiß diskutierte Inhalte
Windows 10
Windows für Privatanwender "nicht mehr handhabbar" (26)

Frage von FA-jka zum Thema Windows 10 ...

LAN, WAN, Wireless
Brauche Hilfe: Mit (schnellem) WLAN Strecke überbrücken (23)

Frage von pierrehansen zum Thema LAN, WAN, Wireless ...

Basic
Programmierung von Windows Programmen (10)

Frage von Ghost108 zum Thema Basic ...