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

Zellen "nebenan" auslesen

Zellen "nebenan" auslesen
11.02.2009 14:05:00
FabianL
Hallo!
ich habe ein Problem dass ich nicht hinbekomme:
Habe in Tabellenblatt2 drei Spalten: A(Rechnungsummer) | B(Kunde) | C(ORT)
Nun soll in einer Userform die Spalte A (bis zur letzten beschriebenen Zeile)
in eine ComboBox eingelesen werden:

Private Sub UserForm_Activate()
Dim iRow As Integer
iRow = Cells(Rows.Count, 1).End(xlUp).Row
UserForm1.ComboBox1.RowSource = "A4:a" & iRow
End Sub


Was ich nun möchte ist dass, nachdem aus der Combobox der jeweilige Wert gewählt wurde,
die beiden jeweiligen Zellen neben der aus Spalte A erscheinen
z.B. als label.caption
Nur steh ich hier leider total auf dem Schlauch, hoffentlich könnt Ihr mir helfen ...
Gruß Fabian

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

Betreff
Datum
Anwender
Anzeige
DAten aus Tabelle auslesen
11.02.2009 14:26:00
NoNet
Hallo Fabian,
verwende dazu z.B. folgenden Code :
VBA-Code:
Private Sub ComboBox1_Change()
    If ComboBox1.ListIndex Then
        lblKunde.Caption = Cells(4 + ComboBox1.ListIndex, 2)
        lblOrt.Caption = Cells(4 + ComboBox1.ListIndex, 3)
    End If
End Sub
Und so könnte das Ergebnis dann aussehen :
Userbild
Gruß, NoNet
AW: Zellen "nebenan" auslesen
Daniel

Hi
ne andere Methode wäre folgende:
1. die Rowsouce auf 3 Spalten erweitern

Private Sub UserForm_Activate()
Dim iRow As Integer
iRow = Cells(Rows.Count, 1).End(xlUp).Row
UserForm1.ComboBox1.RowSource = "A4:C" & iRow
End Sub


2. die Label.Caption aus den Spalten der Listbox lesen:


Private Sub ListBox1_Click()
Label1.Caption = ListBox1.List(ListBox1.ListIndex, 1)
Label2.Caption = ListBox1.List(ListBox1.ListIndex, 2)
End Sub


die zusätzlichen Spalten werden in der Listbox nicht angezeigt, wenn du die "ColumnCount"-Eigenschaft der Listbox auf 1 belässt.
der Vorteil bei der Programmierung ist, daß du dich beim 2. Makro nur noch auf die Listbox beziehtst und dich nicht mehr darum kümmern musst, in welcher Zeile und welcher Spalte die Datentabelle steht.
Sollte sich deine Exceltabelle ändern (z.B. weiter Überschriftenzeilen hinzukommen), so musst du bei dieser Methode nur das erste Makro ändern, bei NoNets Methode müsstest du beide Makros anpassen.
Gruß, Daniel

Anzeige
AW: Zellen "nebenan" auslesen
11.02.2009 21:20:00
Daniel
Hi
ne andere Methode wäre folgende:
1. die Rowsouce auf 3 Spalten erweitern

Private Sub UserForm_Activate()
Dim iRow As Integer
iRow = Cells(Rows.Count, 1).End(xlUp).Row
UserForm1.ComboBox1.RowSource = "A4:C" & iRow
End Sub


2. die Label.Caption aus den Spalten der Listbox lesen:


Private Sub ListBox1_Click()
Label1.Caption = ListBox1.List(ListBox1.ListIndex, 1)
Label2.Caption = ListBox1.List(ListBox1.ListIndex, 2)
End Sub


die zusätzlichen Spalten werden in der Listbox nicht angezeigt, wenn du die "ColumnCount"-Eigenschaft der Listbox auf 1 belässt.
der Vorteil bei der Programmierung ist, daß du dich beim 2. Makro nur noch auf die Listbox beziehtst und dich nicht mehr darum kümmern musst, in welcher Zeile und welcher Spalte die Datentabelle steht.
Sollte sich deine Exceltabelle ändern (z.B. weiter Überschriftenzeilen hinzukommen), so musst du bei dieser Methode nur das erste Makro ändern, bei NoNets Methode müsstest du beide Makros anpassen.
Gruß, Daniel

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige