Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
824to828
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
824to828
824to828
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Auswahldialog

Auswahldialog
07.12.2006 10:11:51
Peter
Guten Tag
Bei einer Reporterstellung möchte ich die Übernahme der zutreffenden Beschreibung automatisieren.
Dazu folgendes (vereinfachtes) Beispiel:
Inhalt der Worksheets "Tabelle_LOT"
A1: "Text 1"; C1: "N10001" 'zugehöriger Code zu A1
A2: "Text 2"; C2: "N10005"
A3: "Text 3"; C3: "N10007"
A4: "Text 4"; C4: "N20055"
...
A23:"Text 23; C23: "300101"
Der Bereich A1:C23 ist mit "L_O_T" benannt.
Nun möchte ich mit einem Makro auf diese Tabelle zugreifen.
Mittels Dialogfeld möchte ich dem Anwender eine Liste mit dem Inhalt der Zellen A1 bis A23 zeigen, aus der er dann den zutreffenden Text auswählen kann.
Aufgrund dieser Auswahl sollte dann das Programm den gewählten Text der String-Variablen "strText" und den zugehörigen Code der String-Variablen "strCode" zuweisen.
Kann mir da jemand auf die Sprünge helfen, wie man so was anstellt?
Vielen Dank.
Peter

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Auswahldialog
10.12.2006 13:42:35
fcs
Hallo Peter,
dazu muss du ein kleines Userform in dein Projekt einbauen
Auf dem Userform plazierst du
- eine Combobox (Kombinationsauswahlfeld)
- ein Label (Bezeichnungsfeld) direkt unter der Combobox für Anzeige des Codes
- einen Commandbutton für OK
- einen Commandbutton für Abbrechen
Für die Eigenschaften der Combobox legst du folgende Eigenschaften besonders fest:
ColumnCount: 3
ColumnWidths: 100 Pt;0 Pt; 60 Pt
Die Werte 100 und 60 muss du ggf. an die Breite der darzustellenden Texte anpassen. Der Wert 0 Pt an 2. Stelle bewirkt, das die Informationen aus der Spalte B in der Auswahlbox nicht dargestellt werden.
ListWidth: 160 Pt
Diesen Wert ggf. entsprechend den oberen Werten anpassen
RowSource: L_O_T
Text und Value sollten leer bleiben.
Gruß
Franz
Der Code für die UserForm-Elemente schaut dann etwa so aus:

Private Sub ComboBox1_Change()
'Code zum gewählten Text in Bezeichnungsfeld eintragen
Me.Label1.Caption = "Code: " & Application.WorksheetFunction.VLookup(Me.ComboBox1.Value, _
Application.Range("L_O_T"), 3, False)
End Sub
Private Sub CommandButton1_Click()
'OK-Button
strText = Me.ComboBox1.Value
strCode = Application.WorksheetFunction.VLookup(strText, Application.Range("L_O_T"), 3, False)
Unload Me
End Sub
Private Sub CommandButton2_Click()
'Abbrechen-Button
Unload Me
strText = ""
strCode = ""
End Sub
Der Code in einem allgemeinen Modul für den Aufruf des Userforms schaut dann etwa so aus:
Wichtig ist, dass die beiden Variablen als Public deklariert werden!
Public strText As String, strCode As String
Sub CodeAuswaehlen()
'...sonstiger Code
UserForm1.Show
If strText = "" Then
MsgBox "Auswahl wurde abgebrochen"
'Wat nun
'Code für Abruch der Auswahl
Else
MsgBox "Text gewählt: " & strText & vbLf & _
"Code: " & strCode ' Testzeile
'... weiterer Code
End If
End Sub

Anzeige
AW: Auswahldialog
11.12.2006 10:23:39
Peter
Hallo Franz
Vielen Dank für die Infos.
Werde mich da mal reindenken, wenn ich weider im Büro bin.
Sonnige Grüsse aus der Region Bern
Peter

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige