Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1352to1356
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

UserForm mit Doppelklick füllen

UserForm mit Doppelklick füllen
19.03.2014 12:45:36
Wolferl
Hallo miteinander,
in der Mustertabelle habe ich Daten und wenn ich auf die Spalte A klicke, dann erscheint die Userform. Soweit so gut, nur wie bekomme ich die Daten aus der Tabelle in die UserForm?
Wahrscheinlich ganz einfach mit der Zuordnung zu den jeweiligen TextBoxen, aber wie?
Da in der Tabelle Daten sind, die aus Formel entstehen (Spalte D und G), kann man die auch in der Userform "anders" darstellen, als mit einer TextBox ?
Habe eine kleine Mustertabelle erstellt
https://www.herber.de/bbs/user/89743.xlsm
Gruss Wolferl

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UserForm mit Doppelklick füllen
19.03.2014 12:50:02
Hajo_Zi

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("A6:A50")) Is Nothing Then
Cancel = True
UserForm1.TextBox1 = Range("A" & Target.Row)
UserForm1.TextBox2 = Range("B" & Target.Row)
UserForm1.Show
End If
End Sub

AW: UserForm mit Doppelklick füllen
19.03.2014 13:03:19
Wolferl
Hallo HAJO,
danke!
Irgendwie ging die Anfrage von mir zweimal weg ;-(
Funktioniert dies dann genauso bei ComboBoxen? d.h. aus der "TextBox1" wird die "ComboBox1"
Beispieldatei: https://www.herber.de/bbs/user/89744.xlsm
Gruss Wolferl

Anzeige
AW: UserForm mit Doppelklick füllen
19.03.2014 13:06:06
Hajo_Zi
ja, bei allen Steuerelementen, nur beachte Combobox hat add item, Label hat Caption.
Gruß Hajo

AW: UserForm mit Doppelklick füllen
19.03.2014 13:12:00
Wolferl
Hallo HaJo,
habe das ja in der Mustertabelle '89744' probiert mit
Private Sub UserForm1_Initialize()
Dim n As Long
For n = 2 To 9
ComboBox1.AddItem ThisWorksbook.Worksheets("Tabelle3").Cells(n, 1).Value
Next n
End Sub
Muss der Aufruf in den Code der UserForm oder in die Tabelle?

AW: UserForm mit Doppelklick füllen
19.03.2014 13:12:35
Wolferl
Hallo HaJo,
habe das ja in der Mustertabelle '89744' probiert mit
Private Sub UserForm1_Initialize()
Dim n As Long
For n = 2 To 9
ComboBox1.AddItem ThisWorksbook.Worksheets("Tabelle3").Cells(n, 1).Value
Next n
End Sub
Muss der Aufruf in den Code der UserForm oder in die Tabelle?

Anzeige
AW: UserForm mit Doppelklick füllen
19.03.2014 13:15:36
Hajo_Zi
ich habe die Datei nicht mehr auf. Du füllst also bei Private Sub UserForm1_Initialize() die Combobox. Danach
Combobox=Range("G" & ActiveCell.Row )
Gruß Hajo

AW: UserForm mit Doppelklick füllen
19.03.2014 13:20:03
GuentherH
Hallo,
zieht doch mal als Alternative die Eigenschaft Controlsource in Erwägung.
Hier kannst Du mit einer Combo-Box auf einen Bereich verweisen.
Für die Textboxen geht das so:
https://www.herber.de/bbs/user/89747.xlsm
Gruß,
Günther

Anzeige
AW: UserForm mit Doppelklick füllen
19.03.2014 14:11:43
Wolferl
Hallo HaJo,
nun habe ich alles versucht, um deinen Vorschlag umzusetzen, aber egal was ich tue: kein Ergebnis.
bezieht sich auf:
Combobox=Range("G" & ActiveCell.Row )
Ob ich in der aktiven Tabelle in der Spalte G Daten eintrage oder das "G" mit "Tabelle3" austausche, die ComboBox bzw. ComboBox1 bleibt leer.
Danke auch an GuentherH mit seinem Vorschlag, der nicht schlecht ist (nach bereinigten Aufruf)
Gruss Wolferl

AW: UserForm mit Doppelklick füllen
19.03.2014 15:06:27
Hajo_Zi
Du hast schon beachtet das Ini... in einer Sitzung nur einmal ausgeführt wird, also Excel schließen und neu Öffnen. Ich benutze immer Activate um solche Fehler zu vermeiden.
Gruß Hajo

Anzeige
also Excel schließen und neu Öffnen
19.03.2014 15:31:07
Rudi
Hallo Hajo,
das ist Unsinn.
Initialize wird immer wenn die Klasse zerstört wurde erneut ausgeführt.
Das geschieht bei Unload, Klick aufs Schließkreuz oder Codeänderung.
Wird die UF allerdings nur per Hide ausgeblendet, wird Initialize nicht erneut ausgeführt, da die Klasse erhalten bleibt.
Von daher ist Activate sicherer.
Gruß
Rudi

AW: UserForm mit Doppelklick füllen
19.03.2014 14:30:09
Rudi
Hallo,
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("A6:A50")) Is Nothing Then
Cancel = True
UserForm1.Show
End If
End Sub
Option Explicit
Private Sub UserForm_Initialize()
Dim lRow As Long
lRow = ActiveCell.Row
TextBox1 = Cells(lRow, 1)
TextBox2 = Cells(lRow, 2)
TextBox3 = Cells(lRow, 3)
TextBox8 = Cells(lRow, 4)
TextBox4 = Cells(lRow, 5)
TextBox5 = Cells(lRow, 6)
TextBox6 = Cells(lRow, 7)
TextBox7 = Cells(lRow, 8)
ComboBox1.List = Range(Cells(6, 7), Cells(Rows.Count, 7).End(xlUp)).Value
ComboBox1 = Cells(lRow, 7)
End Sub

Gruß
Rudi
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige