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

UserForm ComboBox

UserForm ComboBox
02.06.2002 19:02:42
Daniele
Hallo liebe Leute

habe ein besonderes Problem mit ComobBox in UserForm:
Folgendes Makro (irgendwo in diesem Forum gefunden), gibt in der ComboBox-"Auswahl" die zweite Spalte wieder

Private Sub UserForm_Initialize()
ComboBox3.List = Range("L_list").CurrentRegion.Value
End Sub

Private Sub ComboBox3_Change()
If ComboBox3.ListIndex > -1 Then
ComboBox3.Value = ComboBox3.List(ComboBox3.ListIndex, 1)
End If
End Sub

nun möchte ich aber den Wert der ersten Spalte in einer Zelle schreiben damit ich mit diesem Wert weiterverfahren kann. Im ComboBox der UserForm gibt es auch kein "LinkedCell" wie sonst.

Hat jemand eine Idee? Das Problem ist eben dass für den User der Wert in der ersten Spalte bedeutungslos ist, jedoch für den Ablauf sehr wichtig .

Danke
Grüsse, Daniele

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: UserForm ComboBox
02.06.2002 20:27:00
Ramses
Hallo Daniele,

Ich weiss nicht was die Anweisung in dem Change-Ereignis erreichen soll, aber du müsstest das wechseln gegen:

Private Sub ComboBox3_Change()
If ComboBox3.ListIndex > -1 Then
'In B1 wird dein Wert aus der Combobox geschrieben
Range("B1").Value = Me.ComboBox3.Value
End If
End Sub


Code eingefügt mit Syntaxhighlighter 1.12


Gruss Rainer

Anzeige
Re: UserForm ComboBox
02.06.2002 20:29:03
L.Vira
Es gibt aber ControlSouce, das entspricht LinkedCell.
Re: UserForm ComboBox
02.06.2002 20:52:18
Daniele
Hallo L.Vira

Danke für den Tipp, allerdings nützt mit das nicht weil es den Wert der 2. Spalte (wie korrekterweise die Auswahl anzeigt) in der Zelle wiedergibt. ich möche jedoch den Wert der 1. Spalte in die Zelle schreiben, aber der Wert der 2. Spalte in der ComboBox-Auswahl erscheinen lassen.

Gruss, Daniele


Re: UserForm ComboBox
02.06.2002 21:07:54
Daniele
Hallo Ramses

Danke dir für die Unterstützung
Die Anweisung soll erreichen (und macht es auch) dass bei der Auswahl eines ComboBox Dropdowns (ColumnCount=3, wobei die erste Column durch ColumnWidth unsichtbar bleibt) den Eintrag der zweite Spalte angezeigt wird.
wenn ich es ändere wie du vorgeschlagen hast, dann zeigt es mir wieder die 1. Spalte an.
Ich möchte aber dass:
a) in der ComboBox (wenn augewählt), der Wert der 2. Spalte und
b) in eine Zelle der Wert der 1. Spalte erscheint

Der Wert der 2. Spalte ist eben nicht eindeutig, so dass ich eine "ID"-Nummer in der 1. Spalte gesetzt habe

Gruss, Daniele

Anzeige
Re: UserForm ComboBox
02.06.2002 21:14:35
Ramses
Hallo Daniele,

dann schreib folgendes:

Private Sub ComboBox3_Change()
If ComboBox3.ListIndex > -1 Then
'In B1 wird dein Wert aus der Combobox geschrieben
'Die Zählung der spalten beginnt bei 0
'die sichtbare Spalte ist demzufolge 1
Range("B1").Value = Me.ComboBox3.Column(0)
End If
End Sub


Code eingefügt mit Syntaxhighlighter 1.12

Gruss Rainer

Anzeige
Re: UserForm ComboBox
02.06.2002 21:47:04
Daniele
Hi Ramses

Laufzeitfehler 381: Eigenschaft Column konnte nicht abgerufen werden. Index des Eigenschaftenfeldes ungültig.

ausserdem ist Eintrag:
ComboBox3.Value = ComboBox3.List(ComboBox3.ListIndex, 1)
erforderlich damit in der Auswahl die 2. Spalte angezeigt wird.

daniele

Ist das eine Combox in einer Tabelle oder ...
02.06.2002 21:56:05
Ramses
Hallo,

in einer Userform ?
Wenn sie in einer Userform ist, dann ist die Colums-Eigenschaft nicht gesetzt.
Da ist dein Verfahren ganz einfach etwas komplizierter als meines.
In den Eigenschaften der ComboBox kannst du "ColumnsCount" einstellen. Stelle hier auf 2 dann hast du zwei Spalten zur Verfügung.
Unter "ColumnsWidth" stellst du "0;30" ein. Damit wird die erste Spalte ausgeblendet und nur die zweite Spalte in einer Breite von 30 Pic's angezeigt
Unter "ColumnsBound" stellst du "1" ein, dann wird dir zwar der Inhalt der zweiten Spalte angezeigt nach der Auswahl, aber der Rückgabewert der in der Box steht wird aus der Spalte 1 genommen. Also dein eindeutiger Wert.

Der Code ist getestet und funktioniert.

Gruss Rainer

Anzeige
Re: Ist das eine Combox in einer Tabelle oder ...
02.06.2002 22:27:20
Daniele
Hi Ramses
du bist ein Assess :)
so klappt es.

Danke. Daniele

Re: UserForm ComboBox
03.06.2002 09:23:51
L.Vira
schau dir mal Textcolumn und Boundcolumn an.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige