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

Tabellenblattauswahl mit Optionbutton und Combobox

Tabellenblattauswahl mit Optionbutton und Combobox
06.06.2005 18:14:40
reiner
Hallo Leute,
eine Excel-Tabelle enthält mehrere Tabellenblätter deren Namen alle nach dem gleichen Schema aufgebaut sind. z.B.: „MAI 2005“ sowie „MAI 2005,TABELLE“. Außer dem Monat „MAI“ gibt es natürlich alle Varianten mit den restlichen 11 Monatsnamen in Verbindung mit den Jahreszahlen 2003, 2004, 2005 und künftig 2006, 2007...
Es werden aber nur die Tabellenblätter mit Namen wie: z.B.: „MAI 2005“ aufgelistet; die Tabellenblätter mit dem Zusatz „...TABELLE“ sollen nicht erscheinen.
Zur Zeit habe ich die Möglichkeit das gewünschte Tabellenblatt in einer ComboBox auf einer UserForm auszuwählen nachdem zuvor in einer Eingabebox der Jahrgang eingetragen wurde. Das Tabellenblatt wird anschließend zur Anzeige „hinter“ der UserForm eingeblendet.
Als Alternative könnte ich mir auch gut vorstellen, die Jahrgänge über „Optionbutton“ mit der Maus anzuwählen. Eigene Versuche zur Änderung des Programmcodes waren leider nicht erfolgreich.
Wer kann mir weiterhelfen?
Gruß Reiner

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

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblattauswahl mit Optionbutton und Combobox
07.06.2005 11:12:48
Dani
Hallo Reiner
ich habe dir mal ein Beispiel gebastelt. Ich hoffe ich habe dich richtig verstanden:
Option Explicit

Private Sub getTable_Click()
On Error GoTo Melden
Worksheets(ComboBox1.Value & " " & ComboBox2.Value).Activate
Unload Me
Exit Sub
Melden:
MsgBox "Tabelle nicht vorhanden", vbCritical
End Sub


Private Sub UserForm_Initialize()
With ComboBox1
.AddItem ("Januar")
.AddItem ("Februar")
.AddItem ("März")
.AddItem ("April")
.AddItem ("Mai")
.AddItem ("Juni")
.AddItem ("Juli")
.AddItem ("August")
.AddItem ("September")
.AddItem ("Oktober")
.AddItem ("November")
.AddItem ("Dezember")
.ListIndex = 0
End With
Dim Jahr As Integer
For Jahr = 2000 To 2010
ComboBox2.AddItem (Jahr)
Next
ComboBox2.ListIndex = 0
End Sub

Ich habe dir das Testfile auch hochgeladen
https://www.herber.de/bbs/user/23688.xls
Gruss
Dani
Anzeige
AW: Tabellenblattauswahl mit Optionbutton und Comb
07.06.2005 18:31:24
reiner
Hallo Dani,
zunächst vielen Dank für die Mühe die Du Dir gemacht hast. Der Vorschlag kann sicher auch eine Variante zur Lösung des angesprochenen Problems sein, leider entspricht diese Lösung nur teilweise meiner Vorstellung da die angesprochenen Optionsschaltfelder nicht enthalten sind.
Nachstehend habe ich zur Kenntnisnahme den vorhandenen Programmcode eingefügt. Ich denke es wird möglich sein mit wenig Aufwand die an den Optionsschaltfeldern als Jahreszahl ausgewählten Jahrgänge in den Programmcode einzuarbeiten, ich weiß nur leider nicht an welcher Stelle und mit welcher Syntax.
Die vorhandene UserForm enthält: 1. cmdMonat; 2. cboMonat. 3. opt2003 (Optionsschaltfeld 2003, 2004 usw.)

Private Sub cmdMonat_Click()
cboMonat.Visible = False
monArr = Array("Januar", "Februar", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember")
addYear = InputBox("Bitte das Jahr eingeben, für welches Sie die Tabellen anzeigen möchten." & _
"Die Eingabe muss im Format YYYY erfolgen; danach kann ein Monat ausgewählt werden", _
"Jahr wählen", Year(Now()))
On Error Resume Next
If Not IsDate(DateSerial(addYear, 1, 1)) Then
MsgBox "Keine korrekte Jahreszahl", vbInformation + vbOKOnly, "Abbruch"
Exit Sub
End If
Err.Clear
Me.cboMonat.Clear
For i = 1 To Worksheets.Count
getMonth = False
chkTab = False
chkYear = False
chkName = Worksheets(i).Name
For n = 1 To 12
If InStr(1, chkName, monArr(n)) > 0 Then
getMonth = True
Exit For
End If
Next n
If InStr(1, chkName, "Tabelle") = 0 Then
chkTab = True
End If
If InStr(1, chkName, addYear) > 0 Then
chkYear = True
End If
If getMonth = True And chkTab = True And chkYear = True Then
Me.cboMonat.AddItem chkName
End If
Next i
Me.cboMonat.ListIndex = 0 'Leeranzeige unterdrücken
cboMonat.Visible = True
End Sub


Private Sub cboMonat_click()
Worksheets(Me.cboMonat.Text).Select
cboDatensatz.Clear
cboDatensatz.Visible = False
letzteZeile = 0
cmdDatensätze.Enabled = True
cmdDatum.Enabled = True
End Sub


Private Sub Opt2003_Click()   [Optionsschaltfeld]
If Opt2003.Value = True Then
chkYear = 2003
End If
cboMonat.Visible = True
End Sub


Private Sub Opt2004_Click()   [Optionsschaltfeld]
If Opt2004.Value = True Then
chkYear = 2004
End If
cboMonat.Visible = True
End Sub


Private Sub Opt2005_Click()   [Optionsschaltfeld]
If Opt2005.Value = True Then
chkYear = 2005
End If
cboMonat.Visible = True
End Sub

Es wäre schön wenn Du noch einen Vorschlag hättest wie die Jahrgangswahl mit den Optionsschaltfeldern eingearbeitet werden kann.
Gruß Reiner
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige