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

Werte in Listenfeld einlesen und zu Wert springen | Herbers Excel-Forum

Werte in Listenfeld einlesen und zu Wert springen
19.05.2009 10:25:13
Andreas

Hallo Excel-Gemeinde!
Ich habe eine Exceltabelle mit 15 Blättern. In den ersten beiden Spalten stehen stehen jeweils von Zeile 10 bis Zeile 32 Namen und Vornamen.
Ich möchte jetzt erreichen das im Blatt eins ein ausklappbares Listenfeld steht, in dem die Werte aller Blätter der Zellen A10 bis B32, ohne Leerzellen stehen. Wobei die Werte der Zellen A+B ein Listeneintrag ergeben sollen (z.B. A10 + B10 jeweils durch Komma getrennt).
Als zweites möchte ich dann beim klick auf einen Eintrag im Listenfeld in das entsprechende Blatt zum entsprechenden Eintrag springen.
Kann mir Jemand weiterhelfen?
Danke für die Mühe!
mfg Andreas

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

Betreff
Datum
Anwender
Anzeige
AW: Werte in Listenfeld einlesen und zu Wert springen
19.05.2009 10:46:03
Beverly
Hi Andreas,
wenn du ein Kombinationsfeld aus der Steuerelemente-Toolbox verwendest: weise ihm unter der Eigenschaft ColumnCount 2 zu und unter ColumnWidth 100 Pt;0 Pt.


Private Sub ComboBox1_GotFocus()
Dim wsTabelle As Worksheet
Dim inZeile As Integer
For Each wsTabelle In Worksheets
If wsTabelle.Name <> "Tabelle1" Then
For inZeile = 10 To 32
ComboBox1.AddItem wsTabelle.Cells(inZeile, 1) & ", " & wsTabelle.Cells(inZeile,  _
2)
ComboBox1.List(ComboBox1.ListCount - 1, 1) = wsTabelle.Name
ComboBox1.List(ComboBox1.ListCount - 1, 2) = Cells(inZeile, 1).Address
Next inZeile
End If
Next wsTabelle
End Sub
Private Sub ComboBox1_Change()
Application.Goto reference:=Worksheets(ComboBox1.List(ComboBox1.ListIndex, 1)).Range( _
ComboBox1.List(ComboBox1.ListIndex, 2))
End Sub




Anzeige
AW: Werte in Listenfeld einlesen und zu Wert springen
19.05.2009 11:06:05
Andreas
Hallo!
Danke für die schnelle Hilfe. Ich habe ein Kombinationsfeld nach deinen Angaben angelegt und entsprechend Formatiert.
Allerdings werden mir im Kombinationsfeld sehr viele Leereinträge (also nur ein Komma) angezeigt.
Wenn ich dann auf einen Eintrag klicke, erscheint eine Fehlermeldung:
Die Methode 'Goto' für das Objekt '_Application' ist fehlgeschlagen.
mfg, Andreas
AW: Werte in Listenfeld einlesen und zu Wert springen
19.05.2009 11:18:00
Beverly
Hi Andreas,
ändere den Code wie folgt:


Private Sub ComboBox1_GotFocus()
Dim wsTabelle As Worksheet
Dim inZeile As Integer
ComboBox1.Clear
For Each wsTabelle In Worksheets
If wsTabelle.Name <> "Tabelle1" Then
With wsTabelle
For inZeile = 10 To IIf(IsEmpty(.Cells(.Rows.Count, 1)), .Cells(.Rows.Count, 1). _
End(xlUp).Row, .Rows.Count)
ComboBox1.AddItem .Cells(inZeile, 1) & ", " & .Cells(inZeile, 2)
ComboBox1.List(ComboBox1.ListCount - 1, 1) = .Name
ComboBox1.List(ComboBox1.ListCount - 1, 2) = .Cells(inZeile, 1).Address
Next inZeile
End With
End If
Next wsTabelle
End Sub



Private Sub ComboBox1_Change()
If ComboBox1.ListIndex > -1 Then Application.Goto reference:=Worksheets(ComboBox1.List( _
ComboBox1.ListIndex, 1)).Range(ComboBox1.List(ComboBox1.ListIndex, 2))
End Sub


Kommen auch zwischendurch leerzeilen vor? Damm musst du dies im Code noch prüfen und erst dann die ListBox füllen.



Anzeige
AW: Werte in Listenfeld einlesen und zu Wert springen
19.05.2009 11:30:08
Andreas
Hallo!
Leider gleiches Ergebnis. Viele Leereinträge (Kommas) und jetzt noch Einträge unterhalb der Zeile 32. Gleiche Fehlermeldung.
mfg, Andreas
AW: Werte in Listenfeld einlesen und zu Wert springen
19.05.2009 11:56:26
Andreas
Hallo!
Sorry, hatte den letzten Satz:
"Kommen auch zwischendurch leerzeilen vor? Damm musst du dies im Code noch prüfen und erst dann die ListBox füllen."
nicht gelesen. Die Leerzeilen kommen auch zwischendurch vor. Leider habe ich von VBA keine Ahnung.
mfg, Andreas
AW: Werte in Listenfeld einlesen und zu Wert springen
19.05.2009 13:02:41
Beverly
Hi Andreas,


Private Sub ComboBox1_GotFocus()
Dim wsTabelle As Worksheet
Dim inZeile As Integer
ComboBox1.Clear
For Each wsTabelle In Worksheets
If wsTabelle.Name <> "Tabelle1" Then
With wsTabelle
For inZeile = 10 To IIf(IsEmpty(.Cells(.Rows.Count, 1)), .Cells(.Rows.Count, 1). _
End(xlUp).Row, .Rows.Count)
If .Cells(inZeile, 1) <> "" Then
ComboBox1.AddItem .Cells(inZeile, 1) & ", " & .Cells(inZeile, 2)
ComboBox1.List(ComboBox1.ListCount - 1, 1) = .Name
ComboBox1.List(ComboBox1.ListCount - 1, 2) = .Cells(inZeile, 1).Address
End If
Next inZeile
End With
End If
Next wsTabelle
End Sub




Anzeige
AW: Werte in Listenfeld einlesen und zu Wert springen
19.05.2009 13:35:53
Andreas
Hallo Beverly!
Danke für die Hilfe! Leerzeilen sind weg (super), aber alles was nach der Zeile 32 kommt ist noch drin. Hast du noch eine Idee?
mfg, Andreas
AW: Werte in Listenfeld einlesen und zu Wert springen
19.05.2009 14:03:49
Beverly
Hi Andreas,
das ging aus deinem Beitrag leider nicht eindeutig hervor, sondern ich nahm an, dass darunter frei sei und habe bis zur letzten belegten Zelle in Spalte A ausgelesen. Schreibe die Zeile wie in dem vorhergehenden Code:


For inZeile = 10 To 32




Anzeige
AW: Werte in Listenfeld einlesen und zu Wert springen
20.05.2009 13:14:08
Andreas
Hallo!
Danke für die Hilfe. Leerzeilen sind weg.
mfg Andreas

320 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige