Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
800to804
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
800to804
800to804
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Kombinationsfeld oder Combobox
09.09.2006 00:45:24
Thorsten
Guten Abend oder eigentlich Moin,
lacht euch nicht kaputt. Habe leider Null Ahnung von VBA.
Aber am nachstehenden Versuch erkennt ihr vieleicht was ich möchte.
Habe eine Mappe mit zahlreichen Formularen ... jeweils in einer einzelnen Tabelle. Nun "wöllte" ich gerne über eine Combobox die jeweilige Seite ansteuern. Noch besser wäre das Formular-Kombinationsfeld (sieht einfach ansprechender aus).

Private Sub ComboBox1_Change()
Dim ComboBox1 As Integer
ComboBox1 = Range("W50").Value
Select Case ComboBox1
Case Is = "EFB Preis 1a"
Sheets("EFB 1a").Select
Worksheets("EFB 1a").Select
Case Is = "EFB Preis 1b"
Sheets("EFB 1b").Select
Worksheets("EFB 1b").Select
Case Is = "EFB Preis 1c"
Sheets("EFB 1c").Select
Worksheets("EFB 1c").Select
" u.s.w."
End Select
End Sub

Für HIlfe besten Dank. Vieleicht auch Hinweis auf Beispieldatei.
Habe in der Recherche aber nichts gefunden.
Gruß Thorsten

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kombinationsfeld oder Combobox
09.09.2006 10:07:10
Reinhard
Hi Thorsten,
https://www.herber.de/bbs/user/36526.xls
hat folgenden Code:
Option Explicit
Sub tt()
With Worksheets("Tabelle4")
Worksheets(CStr(.Range("A" & .Range("B1")))).Activate
End With
End Sub
Sub zurück()
Worksheets("Tabelle1").Activate
End Sub

Tabelle1 hat ein Kombinationsfeld das mit dem Makro "tt" verknüpft ist. Tabelle2 und 3 haben Schaltflächen mit dem Makro "Zurück".
Das Kombinationsfeld hat dn Eingabebereich Tabelle4!A1:A2 und die zellverknüpfung Tabelle4!B1.
In Tabelle4 stehen in A1:A2 folgende Werte:
Tabelle2
Tabelle3
Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
Anzeige
AW: Kombinationsfeld oder Combobox
09.09.2006 10:42:49
fcs
Hallo Thorsten,
in Tabellen lassen sich die Elemente aus der Steuerelement - Toolbox meist besser händeln, da sie flexibler in den Möglichkeiten sind.
Ich hab in der Beispieldatei einmal beide Varianten eingebaut. Bei guter Aufbereitung der Daten reduzieren sich die Makros dann wie folgt:

'Makro für Kombinationfeld aus der Steuerelement-Toolbox
Private Sub ComboBox1_Change()
Sheets(ComboBox1.Value).Select
End Sub
'Makro für Kombinationsfeld aus Formular, Makro muss dem Kombinationsfeld zugewiesen werden
'"Tabellen" ist der Bereich mit den Tabellennamen, der auch für die Listenauswahl des Feldes
'festgelegt wurde. "H2" ist die mit dem Feld verknüpfte Zelle.
Sub Tabellenauswahl()
With Application
Sheets(.WorksheetFunction.Index(.Range("Tabellen"), Me.Range("H2").Value, 1)).Select
End With
End Sub

https://www.herber.de/bbs/user/36528.xls
Gruss
Franz
Anzeige
Rückmeldung
09.09.2006 16:20:56
Thorsten
Hallo Reinhard, Hallo fcs,
nachdem die fleißigen Beantworter bei meiner späten Frage die Kiste wohl schon abgestellt hatten habe ich es nach einer weiteren Stunde selber geschafft. Bei meinen Code einfach die ersten beiden Zeilen weg dann geht es auch.
Eure beiden Varianten sind jedoch besser.
Danke fsc für die tolle Ausarbeitung (Erklärung). Mit dem Steuerelement der Toolbox funktioniert dies wunderbar. Ich habe dies auch in einer eigenen Tabelle probiert und mit dem Namen vergeben verstanden. Bei dem Formular-Steuerelement kommt aber bereits in deiner Mappe "Typenunverträglich".
Einsetzen werde ich allerdings Reinhard seine Variante. Also auch dir Reinhard besten Dank. Ich denke der Vorteil ist, dass der Code im Modul liegt. Somit kann ich das Steuerelement ohne zusätzlichen Code in mehrere Mappen kopieren und es funkt.
Ich will nicht unverschämt sein. Aber nun ist mir aufgefallen, dass ich eigentlich noch ein HiLight brauche. Absolut Spitze wäre natürlich, wenn nach jeder Auswahl nicht der Tabellenname in der Box steht, sondern die Bezeichnung. In diesen Beispiel wäre das "EFB Datenblätter". Insgesamt werde ich wohl 5 solche Steuerelemte benötigen. Und es sieht blöd aus, wenn auf meiner Startseite in jedem Steuerelement steht "Start".
Wäre genial, wenn du dazu noch einen guten Tipp hast.
Also nochmal, Danke euch Beiden
Gruß Thorsten
Anzeige
AW: Rückmeldung
10.09.2006 12:26:10
fcs
Hallo Thorsten,
ergänze den Eintrag "EFD-Tabellen" in der Liste der Tabellen (am besten als letzten Eintrag) und passe das Makro wie folgt an:

Sub tt()
With Worksheets("Tabelle4")
If .Range("B1").Value <> .Cells(.Rows.Count, "A").End(xlUp).Row Then 'oder If .Range("B1").Value <> 3 Then
Worksheets(CStr(.Range("A" & .Range("B1")))).Activate
.Range("B1").Value = .Cells(.Rows.Count, "A").End(xlUp).Row  'oder .Range("B1").Value = 3
End If
End With
End Sub
Hierbei wird in Spalte "A" die letzte Zeile mit einem Eintrag ermittelt und in die Verknüpfte Zelle eingetragen. Falls sich die Tabellenzahl nicht ändert, dann kannst du auch die Variante mit der direkten Angabe der Zeile wählen.
Übrigens gibt meine Lösung für die Formular-Auswahlbox jetzt auch bei mir die Fehlermeldung "Typen unverträglich". Keine Ahnung warum, denn wenn ich den Blattnamen in eine Variable Schreibe funktioniert es jetzt. Mit nachfolgender Änderung kannst du das Makro auch in ein Modul schreiben. Den Namen "Tabelle1" mit der verknüpften Zelle muss du dann entsprechend anpassen.

'Makro für Kombinationsfeld aus Formular, Makro muss dem Kombinationsfeld zugewiesen werden
'"Tabellen" ist der Bereich mit den Tabellennamen, der auch für die Listenauswahl des Feldes
'festgelegt wurde. "H2" ist die mit dem Feld verknüpfte Zelle in Tabelle1.
Sub Tabellenauswahl()
Dim Blatt As String
With Application
Blatt = .WorksheetFunction.Index(.Range("Tabellen"), Sheets("Tabelle1").Range("H2").Value, 1)
Sheets(Blatt).Select
End With
End Sub

Gruss
Franz
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige