2.3k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo zusammen,

ich möchte eine Combobox haben, die alle übrigen Tabellenblätter enthält, und beim Auswählen direkt auf das besitmmt Tabellenblatt springt.

Das hört sich einfach an, ich bekomms aber nicht hin. Mit dem Makrorecorder klappt das irgendwie nicht..

Danke an alle!!!

3 Antworten

0 Punkte
Beantwortet von fedjo Experte (2.2k Punkte)
Hallo,
Code in das Codefenster in Tabelle1 einfügen:

Option Explicit
Private Sub ComboBox1_Click()
Sheets(ComboBox1.Text).Activate
End Sub
Private Sub ComboBox1_DropButtonClick()
Combo1Füllen
End Sub

Code in ein Modul einfügen:
Sub Combo1Füllen()
Dim i&
With Worksheets("Tabelle1")
.ComboBox1.Clear
For i = 1 To Sheets.Count
.ComboBox1.AddItem Sheets(i).Name
Next
End With
End Sub

Oder ohne Tabelle 1 anzeigen:
Sub Combo1Füllen()
Dim wks As Worksheet
With Worksheets("Tabelle1")
.ComboBox1.Clear
For Each wks In Worksheets
If wks.Name <> "Tabelle1" Then
.ComboBox1.AddItem wks.Name
End If
Next
End With
End Sub

Gruß
fedjo
0 Punkte
Beantwortet von
danke schonmal, aber:

Laufzeitfehler 438

Objekt unterstützt diese Eigenschaft/ MEthode nicht.


beim debuggem meckert er da:

Sub Combo1Füllen()
Dim i&
With Worksheets("Tabelle1")

==>> .ComboBox1.Clear <<==

For i = 1 To Sheets.Count
.ComboBox1.AddItem Sheets(i).Name
Next
End With
End Sub
0 Punkte
Beantwortet von fedjo Experte (2.2k Punkte)
Hallo,
With Worksheets("Tabelle1")

Den Namen der Tabelle wo die ComboBox ist muß du natürlich anpassen. Auch der Name der ComboBox1 muß anpasst werden.

Gruß
fedjo
...