Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1696to1700
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

Combo Box Makro Hilfe

Combo Box Makro Hilfe
05.06.2019 09:20:44
r4mun
Guten Morgen liebe Leute,
ich nutze derzeit ein Makro das ich aus mehreren google suchen zusammengeflickt habe. Es funktioniert, jedoch hätte ich da gerne eine Änderung. Jedoch scheitere ich da schon seit ein paar Tagen da meine VBA Kentnisse etz nicht so Top sind.
Das Makro
Option Explicit
Dim mblnNoEvent As Boolean

Private Sub ComboBox1_Change()
If Not mblnNoEvent Then
ThisWorkbook.Sheets(ComboBox1.Text).Visible = True
ThisWorkbook.Sheets(ComboBox1.Text).Activate
Unload Me
End If
End Sub

Private Sub UserForm_Activate()
Dim objSheet As Object
Dim avntInsert As Variant
Dim ialngIndex As Long
Dim strName As String
avntInsert = Array("test", "Test2", "Test3", "Test4", "Test5", "Test6", "Test7") 'hier die _
_
_
anzuzeigenden Tabellen eintragen
For Each objSheet In ThisWorkbook.Worksheets
strName = objSheet.Name
For ialngIndex = LBound(avntInsert) To UBound(avntInsert)
If avntInsert(ialngIndex) = strName Then
ComboBox1.AddItem strName
Exit For
End If
Next
Next
mblnNoEvent = True
ComboBox1.Text = "Schichtplan für"
mblnNoEvent = False
End Sub

Damit nutze ich eine Kombibox mit der ich auf bestimmte Blätter springen will.
Die Box befindet sich in einer Userform. Die Blätter auf die ich springen will sind "veryhidden". Wie gesagt es klappt so ganz gut.
Die Änderung die ich jedoch will: Ich möchte die Namen der Tabellenblätter nicht hier in das Makro schreiben wollen - sondern diese sollen aus einen anderen Blatt der Mappe aus einen Bereich genommen werden. Habe da schon mit "Worksheet und Range herumprobiert probiert komme da jedoch auf Ergebnis.
Wäre dankbar wenn da wer drüberschauen kann.

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

Betreff
Datum
Anwender
Anzeige
AW: Combo Box Makro Hilfe
05.06.2019 09:48:35
Beverly
Hi,
du kannst doch alle betreffenden Blätter in das Array einlesen - nach diesem Prinzip:
    Dim arrTabs()
Dim lngZaehler As Long
Dim wksTab As Worksheet
For Each wksTab In Worksheets
If wksTab.Visible = xlSheetVeryHidden Then
ReDim Preserve arrTabs(0 To lngZaehler)
arrTabs(lngZaehler) = wksTab.Name
lngZaehler = lngZaehler + 1
End If
Next wksTab


AW: Combo Box Makro Hilfe
05.06.2019 11:05:10
r4mun
Wenn ich das mit meinen begrenzten Vba Kentnissen richtig verstehe liest das alle veryhidden ein.
Es sind jedoch noch weitere Tabellenblätter enthalten die ebenfalls veryhidden sind, aber nicht in dieser kombobox auftauchen sollen.
Die Tabellenblätter bekommen via makro namen des jeweiligen Mitarbeiters und beinhalten deren Schichtplan. Mit der Kombibox möchte ich den Namen des Mitarbeiters anwählen können und zu deren Schichtplan gelangen. Und eben die Namen sollen aus deinen Tabellenblatt Namens Stammdaten kommen aus denen so ziemlich alles ausgelesen wird. Alles klappt soweit nur eben an diesen Punkt hapert es.
Und bei änderungen per Handy im Makro ändern ist etwas umständlich und nicht für jedermann praktikabel.
Anzeige
Aus deinem Beitrag ging nicht hervor...
05.06.2019 12:19:38
Beverly
...dass einige der ausgeblendeten Tabellenblätter NICHT eingelesen werden sollen und da niemand deine Mappe und damit die konkreten Bedingungen kennt, kann man immer nur auf das Problem antworten wie man es aus der Fargestellung entnehmen kann - und bei dir stand, dass du die Namen der Tabellenblätter nicht im Code fix vorgeben willst...
Wenn du die Namen aus einem Zellbereich entnehmen willst, dann weise der ComboBox einfach diesen Bereich als RowSource zu:
    Me.ComboBox1.RowSource = "Stammdaten!A1:A6"


Anzeige
AW: Aus deinem Beitrag ging nicht hervor...
06.06.2019 12:04:29
r4mun
Funktioniert super so danke - sind wir ja doch noch zusammengekommen :)

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige