Anzeige
Archiv - Navigation
1904to1908
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
Userform1 öffnen mit Userform3
19.11.2022 13:55:31
oraculix
Hallo Alle!
Ich möchte aus der Userform3 Userform1 öffnen mit den markierten Value aus Listbox1.
Leider klappt das nicht so ganz wie ich möchte, es wird zwar die Userform 1 geöffnet aber nicht der Wert aus Listbbox1 übernommen.

Private Sub CommandButton12_Click()
If Not UserForm1.Visible Then
UserForm1.Show
End If
If UserForm1.Visible Then
Unload UserForm3
End If
*wie muss ich das Formulieren?
'Lst_Treffer.=Value Listbox1 hier fehlt noch die Value Übergabe an Userform1 Lst_Treffer ist die Listbox der Userform1
End Sub
Gruß
Oraculix

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform1 öffnen mit Userform3
19.11.2022 14:54:34
Marc
- Du könntest eine globale Variable setzen mit dem Wert aus Listbox, und diese beim Laden der anderen UserForm übernehmen
- Du könntest den Wert aus der ListBox in ein Tabellenfeld schreiben, und es beim Laden der UserForm auslesen
- Du könntest der neuen Userform über das direkte ansprechen des Feldes, wo der Wert rein kommt , den Wert übergeben
z.B.
Wert aus der ListBox in UserForm 3 ist : "hallo Welt"
In UserForm 1 soll dann dieser Wert in dem Text Feld 1 ( Bezeichnung z.B. Label1) angezeigt werden.

UserForm1.Label1.Caption = "hallo Welt"
So kannst du alle Elemente die in UserForms vorhanden sind direkt ansprechen, auch wenn das entsprechende UserForm noch nicht geladen ist..
je nach Element was du ansprechen willst ist es .Text , .Value oder .Caption am Ende.. da hilft dir VBA aber eigentlich automatisch
Anzeige
AW: Userform1 öffnen mit Userform3
19.11.2022 15:07:41
oraculix
Hall Danke für die rasche Antwort!
Also Textfeld gibt es nicht in Userform 1 aber
Du könntest eine globale Variable setzen mit dem Wert aus Listbox1, und diese beim Laden der anderen UserForm übernehmen
Das würde mich interessieren wie mach ich das?
Wobei Globale Variable verstehe ich nicht ganz was das bedeutet?
Gruß
Oraculix
AW: Userform1 öffnen mit Userform3
19.11.2022 17:41:34
Marc
Na ja worin soll die Variable denn in Userform angezeigt werden, oder wozu benutzt werden ?
du kannst z.B. wenn du in VBA ein neues Modul erstellst und dann kannst du globale Variablen definieren:

Global MA_Cell As Long
Global VarSAP As String
Global Benutzer As String
Der Vorteil ist, das diese Variablen überall gültig sind, man darauf zugreifen kann aber sie auch von überall zu ändern sind.., was eine hohe Gefahr birgt das sie falsch interpretiert werden.
Und diese Variablen sollten nicht in irgendwelchen Sub Routinen erneut benutzt werden.
Anzeige
AW: Userform1 öffnen mit Userform3
19.11.2022 17:59:16
oraculix
Sorry verstehe nur Bahnhof aber trotzdem danke!
Bin noch ja noch Anfänger!!!
Gruß
Oraculix
AW: Userform1 öffnen mit Userform3
19.11.2022 19:52:24
GerdL
Hallo,
ein kleiner Ansatz. Du kannst auch Tante Google fragen.

'Modul1
Public pListValue As Variant

'Modul Userform1
Private Sub UserForm_Initialize()
UserForm1.TextBox1 = pListValue
End Sub

'Modul Userform3
Private Sub CommandButton1_Click()
ListBox1.AddItem "Test"
ListBox1.ListIndex = 0
pListValue = ListBox1.List(ListBox1.ListIndex, 0)
UserForm1.Show
Unload Me
End Sub
Gruß Gerd
Anzeige
AW: Userform1 öffnen mit Userform3
19.11.2022 19:57:37
Marc
Public und Global verhalten sich gleich, allerdings ist global abwärtskompatibel zu älteren Excel Versionen, Public nicht.
AW: Userform1 öffnen mit Userform3
20.11.2022 00:39:05
Oberschlumpf
Hi Marc,
und wieso informierst du über den Unterschied Global + Public?
(by the way: in welcher Version kann man denn Public - noch nicht - verwenden?)
Der Fragende nutzt doch MS O2022 - da müsste doch das Code-Bsp von Gerd funktionieren, oder?
Ciao
Thorsten
AW: Userform1 öffnen mit Userform3
20.11.2022 08:40:23
Marc
Ich fand, es wäre sinnvoll, so etwas zu benennen, denn je nachdem welche Fachliteratur man sich anschaut, wir das eine oder das andere benutzt (vorgezogen).. Und falls der Threadersteller über den anderen Begriff stolpert, wollte ich da eventuelle Fragen vorbeugen..
Zudem könnte es ja sein, je nachdem wie viele Menschen daran arbeiten, oder Zugriff drauf haben, das nicht alle mit der gleichen Version arbeiten (aus eigenen Erfahrungen weiß ich, wie viele Versionen in einem Unternehmen irgendwie doch herum schwirren)...
Aber wenn es zu viel ist eine Information zu geben.. dann kann ich das gerne unterlassen..
Aber dann wäre es vielleicht auch zu überlegen, solche Kommentare zu unterlassen, das sie noch weniger Informationsgehalt haben.
Ich stehe immer auf dem Standpunkt, dass mehr Informationen auch mehr Sicherheit bedeuten.. Und daher denke ich das sowas vielleicht gerade am Anfang vielleicht nicht schaden kann.
Anzeige
AW: Userform1 öffnen mit Userform3
20.11.2022 09:03:00
Oberschlumpf
und meine Frage - mit welcher Version - Public noch nicht funktioniert, haste in deinem "Antwortroman" trotzdem nicht beantwortet...
AW: Userform1 öffnen mit Userform3
20.11.2022 07:12:39
oraculix
Hallo Alle Danke Euch für Eure Antworten!
Die Antwort von Gerd habe ich exakt so eingegeben wie beschrieben.
Leider wird der Wert der in der Userform3 Listbox1 markiert wurde nicht in Userform1 Listbox name Lst_Treffer angezeigt.
Es kommt aber auch keine Fehlermeldung!
Vielleicht hilft eine genaue Beschreibung weiter. Weil Arbeitsmappe mit Bildern nicht möglich wegen Kb Beschränkung.
Userform1 wird normalerweise über einen Doppelklick in Spalte B geöffnet, und zeigt das Bild des dazugehörigen Filmes an aus Image1.
Userbild
Danach wird die Userform1 geöffnet mit dem Wert der Doppelt angeklickten Zelle in Spalte B.
Userbild
Userform 3 Zeigt den Angeklickten Schauspieler mit seinen Filmen.
Userbild
Die Listbox Lst_Treffer befindet sich ganz oben Hellblau.
Das war die Userform1
Doppel klick in Spalte B öffnet Bild in Userform1.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim X As Long
If Not Intersect(Target, Range("B2:B5000")) Is Nothing Then
Cancel = True
With UserForm1
Set .Image24.Picture = Image1.Picture
For X = 0 To .Lst_Treffer.ListCount - 1
If .Lst_Treffer.List(X, 1) = Target Then
.Lst_Treffer.Selected(X) = True
Exit For
End If
Next X
Call .Show
End With
End If
End Sub
So jetzt kommt die Userform 3 , die über die Tabelle auf ein beliebigen Linksklick Bild einen Schauspieler geöffnet wird.
Userbild
Hier Seht Ihr die Listbox1 .
Und jetzt kommt das was ich nicht schaffe:
Wenn ich über den Commandbutton Grün, die Userform1 aufrufen möchte weil es dort mehr Informationen gibt kommt dieses Bild ohne das was ausgewählt wurde in Userform3 . Userform1 Startet ohne Bild und ohne Auswahl aus Userform3.
Userbild
Gruß
Oraculix
Anzeige
AW: Userform1 öffnen mit Userform3
20.11.2022 08:49:10
Marc
Hmmm
also das letzte Bild verwirrt mich etwas..Es scheint so, als würdest du einen Film auf der Festplatte haben, der gerade im KINO ist?
Das wäre sehr befremdlich...
Was hast du denn wo genau hingeschrieben ?
AW: Userform1 öffnen mit Userform3
20.11.2022 09:02:14
oraculix
Danke für Deine Mühe!
Ja der Film ist auf der Festplatte.
Den Code von Gerd den er gepostet hat.
'Modul1
Public pListValue As Variant
'Modul Userform1

Private Sub UserForm_Initialize()
UserForm1.TextBox1 = pListValue
End Sub

'Modul Userform3

Private Sub CommandButton1_Click()
ListBox1.AddItem "Test"
ListBox1.ListIndex = 0
pListValue = ListBox1.List(ListBox1.ListIndex, 0)
UserForm1.Show
Unload Me
End Sub

Gruß
Oraculix
Anzeige
Noch nicht gelöst
20.11.2022 09:09:25
oraculix
Bin sehr dankbar für weiter Hilfe
Gruß
Oraculix

104 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige