Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1536to1540
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

ListBox/MsgBox /CommandButton

ListBox/MsgBox /CommandButton
27.01.2017 16:08:30
VBA-Träumer
Hallo zusammen,
ich habe wieder einmal ein Problemchen.
Mit folgendem Code habe ich mir eine MsgBox zusammengebaut die den Wert einer Zelle in abhängigkeit einer anderen ausgibt. Funktioniert soweit schonmal. Check.
Private Sub commandbutton4_click()
Dim rngData As Range
Set rngData = Range("A1:B1")
If rngData.Range("A1") = "X" Then        'Überprüfen ob Lagerhaltig
If rngData.Range("B1") >= 1 Then     'Falls Ja, Bestandsabfrage
MsgBox " Es sind" & Chr(13) & ActiveSheet.Range("B1") & Ch (13)  & "auf      lager",  _
vbInformation, "Abfrage Lagerhaltig" 'Ausgabe des Lagerbestandes
Else
If rngData.Range("B1") = "" Then
MsgBox " Aktuell kein Lagerbestand vorhanden", vbExclamation, "Abfrage Lagerhaltig"
End If
End If
End If
If rngData.Range("A1").Value = "" Then
MsgBox "Betriebsmittel ist nicht Lagerhaltig angelegt", vbExclamation, "Abfrage  _
Lagerhaltig"
End If
End Sub

Weiterhin kann ich mit einem weiteren Befehl, einen Datensatz aus meiner Listbox per Doppelklick anwählen und werde direkt in die richtige Zeile der Excel-Tabelle verwiesen.

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
ActiveSheet.Range("$A$4:$E$10000").AutoFilter Field:=3, Criteria1:=ListBox1.Lis(ListBox1. _
ListIndex, 2)
Unload Me
End Sub

Nun zu meinem Vorhaben: Ich möchte die beiden Komponenten miteinander verbinden.
Zuerst möchte ich einen Datensatz in meiner ListBox markieren. Ist dieser markiert, möchte ich auf den CommandButton4 klicken, welcher die Maschinerie mit der MsgBox in Gang setzt.
Ich bekomm aber einfach die verbindung nicht auf die Reihe. Und vermutlich gibt es auch noch probleme mit dem range("XX") befehl, da sich die Zellen ja immer wieder ändern und ich in meinem Beispiel von fixen zellen ausgeganen bin.
Für Lösungsansätze oder Tipps wäre ich sehr Dankbar.
Vielen Dank und ein schönes Wochenende
Mfg

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ListBox/MsgBox /CommandButton
27.01.2017 19:16:45
onur
Hi,
Verstehe ich richtig: Wenn du auf den button4 klickst, soll exakt das gleiche geschehen, als ob du "doppelklick" ausgeführt hättest?
Gruß
Onur
AW: ListBox/MsgBox /CommandButton
27.01.2017 19:47:09
VBA-Träumer
Hallo Onur,
nicht ganz. Wenn ich auf Button4 klicke, soll mir über die MsgBox der Lagerbestand angezeigt werden. Sofern einer vorhanden ist. Der Lagerbestand steht in der Excel-Tabelle in Spalte M.
Ich möchte in der ListBox einen Datensatz markieren (durch anklicken). Im nächsten Schritt betätige ich dann den Button4 und die MsgBox zeigt an, ob das Material Lagerhaltig ist und falls ja, wie viel vorhanden.
Bisher kann ich per Doppelklick auf einen gewünschten Datensatz aus der ListBox zurück in die richtige Zeile der Exeltabelle springen.
(Und das möchte ich in zusammenspiel mit dem Code den ich für die MsgBox geschrieben habe nutzen, um den Lagebestand abzufragen. Das Ergebnis soll jedoch nicht sein, dass ich in der Tablle in der richtigen Zeile rauskomme, sondern das eine MsgBox erscheint die mir den LB verrät)
Schwierig zu erkären, ich würde es wahrscheinlich selber nicht verstehen
Gruß
Anzeige
AW: ListBox/MsgBox /CommandButton
27.01.2017 20:05:19
onur
Hi,
Sorry, ist wahrscheinlich total trivial, aber ich kann dir ganz nicht folgen, ohne die datei vor mir zu haben.
Kannst du sie schicken oder posten?
Gruß
Onur
AW: ListBox/MsgBox /CommandButton
27.01.2017 21:36:24
onur
Hi,
Das ist komplizierter, als es aussieht.
"Weiterhin kann ich mit einem weiteren Befehl, einen Datensatz aus meiner Listbox per Doppelklick anwählen und werde direkt in die richtige Zeile der Excel-Tabelle verwiesen." - stimmt nicht, es wird nur gefiltert und angezeigt, aber wo sich die zelle befindet, wird nirgendwo festgestellt oder gespeichert. Du siehst das ergebnis nur, weil alle anderen zeilen ausgeblendet sind.
Ausserdem ist alles vieeel zu kompliziert aufgebaut, man müsste alles umbauen und neu gestalten, um durchzublicken (Hast du das selbst programmiert?).
Man braucht doch "nur" nach den bis zu 3 Kriterien (Wieso Zeichnungsnummer als Kriterium?) suchen und die zeile(n) auszuspucken, wo alles zutrifft.
Soll ich mich mal daran machen?
Anzeige
AW: ListBox/MsgBox /CommandButton
27.01.2017 22:07:40
VBA-Träumer
Die Übersicht lässt tatsächlich zu wünschen übrig. Allerdings irre ich als VBA-Anfänger in der Hinsicht noch öfters im dunklen. Ich hab die UserForm über einen längeren Zeitraum immer wieder ergänzt und erweitert. Am Anfang hatte ich nur den Code für die vier ComboBoxen und die waren zu diesem Zeitpunkt nicht einmal dynamisch.
Alternative habe ich auch schon probiert eine 5 und 6 ComboBox in die ListBox aufzunehmen, bin daran allerdings gescheitert. Daher wollte ich den LB über Umwege anzeigen lassen.
Wenn du dich der Sache annimmst, wäre es überragend. Ich bin definitv überfordert. Aber das ist schon eine Menge Holz.
Anzeige
AW: ListBox/MsgBox /CommandButton
30.01.2017 11:15:41
VBA-Träumer
Hallo Onur,
zunächst mal vielen Dank für deine Hilfe. Ich hätte nicht mit so einer Unterstützung gerechnet, zumal es ja nicht gerade wenig war! Ich war gestern den ganzen Tag unterwegs, ansonsten hätte ich schon früher geanwortet.
Die Sache mit der MsgBox finde ich echt super. So hatte ich mir das vorgestellt! Und auch der allgemeine Aufbau ist viel übersichtlicher und praktischer. Ich denke, es ist jetzt leichter die ListBox mit weiteren Comboboxen zu ergänzen. Das werde ich ausprobieren. Jedoch muss ich auch ehrlich gestehen, das die ComboBoxen in deiner Version ein paar Eigenschaften aufweisen die mir nicht so ganz passen. Am Donnerstag werde ich das alles noch genauer testen und eventuell nochmal ein paar Fragen an dich haben.
Aber prinzipiell kann ich mit der Grundlage weiterarbeiten und dafür nochmals vielen Dank. Top Sache hier.
Gruß
Anzeige
AW: ListBox/MsgBox /CommandButton
30.01.2017 17:22:48
onur
Hi,
An den Eigenschaften der Comboboxen habe ich nichts verändert, es sind noch deine Originale.
Ich habe nur bei der Listbox die Spaltenanzahl auf 1 reduziert.
Gruß
Onur
AW: ListBox/MsgBox /CommandButton
02.02.2017 14:42:04
VBA-Träumer
Hallo Onur,
du hast recht, habe mich nun etwas länger damit befasst. Ich brauche trotzdem nochmal deine Hilfe.
Zu folgendem Code:
Private Sub commandbutton4_click()
If ListBox1.ListCount = 0 Then Exit Sub
Dim zz, xx, best As Integer
If ListBox1.ListCount = 1 Then
ListBox1.ListIndex = 0
End If
xx = ListBox1.ListIndex
If xx = -1 Then
MsgBox ("Bitte einen Artikel auswählen")
Exit Sub
End If
zz = gefunden(xx)
best = Auswahl.Cells(zz, 7)
MsgBox ("Bestand = " + Str(best))
End Sub
Zum Großteil versteh ich was du da machst aber am Ende mit dem gefunden(xx) Befehl blick ich nicht mehr durch. Vielleicht könntest du mir das genauer erklären.
Außerdem habe ich probiert, den CommandButton4 in meine Version einzubauen. Dabei habe ich [gefunden(xx)] ebenfalls als Integer definiert, da er ja bei dir im Modul1 als Global gekennzeichnet ist?!
Aber es funktioniert nicht, was muss ich noch beachten?
Gruß
Anzeige
AW: ListBox/MsgBox /CommandButton
02.02.2017 15:03:43
VBA-Träumer
Ahhh, das hängt alles mit Modul 1 zusammen, daher kann ich es nicht so einfach übernehmen. Dort wird ja einiges definiert
AW: ListBox/MsgBox /CommandButton
02.02.2017 15:58:50
onur
Hi,
gefunden() enthält alle zeilennummern der artikel (die nach deinen kriterien gefunden worden sind) in der listbox.
d.h. gefunden(xx) ist die zeilennummer des artikels, den du in der listbox ausgewählt hast.
wird eingelesen, während du deine auswahl triffst, und zwar von der funktion match.
d.h. du musst ALLE public-deklarationen übernehmen UND die funktion ( also das ganze modul, wo die funktion match drin ist), sonst kann es auch nicht klappen.
P.S. Du solltest bei Userform_Terminate noch einen UserForm_Activate aufruf einbauen, damit alles resettet wird, als ob du gerade die datei geöfnet hättest.
Gruß
Onur
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige