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

Hilfe VBA :)

Hilfe VBA :)
Julia
Hallo zusammen,
ich habe ein großes Problem und komme einfach nicht weiter. Ich hoffe ihr könnt mir helfen. Ich mache grad Praktikum und muss für meinen Chef eine Excel Datei erstellen mit ganz vielen Tabellenblättern.
Ich soll anschließend eine Auswahlmaske erstellen. Auf dieser soll ein Button sein mit dem ich die verschiedenen Tabellenblätter auswählen kann über ein Makro.
Beispiel:
- Auswahlmaske (Hier soll ein DropDown Feld sein bei dem ich die Umsätze auswählen kann und dann auf die Seite springe)
- Tabellenblattname: Umsatz Aug11
- Tabellenblattname:: Umsatz Sep11
- Tabellenblattname: Umsatz Okt11
Kann man die DropDown Auswahl automatisch erweitern, wenn neue Monatsumsätze dazu kommen?
Wäre super wenn ihr mir weiter helfen könnt. Bin total am verzweifeln und fühle mich irgendwie zu dumm für VBA :(

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

Betreff
Benutzer
Anzeige
AW: Hilfe VBA :)
21.08.2011 22:53:03
fcs
Hallo Julia,
hier ein Beispiel wie du die Auswahlliste mit Daten füllen kannst.
Auf dem Userform muss deine die Combobox1 und der Commandbutton1 vorhandne sein.
Gruß
Franz
Private Sub Commandbutton1_Click()
'Abbrechen-Button
Unload Me
End Sub
Private Sub ComboBox1_Click()
Sheets(Me.ComboBox1.Value).Activate
End Sub
Private Sub UserForm_Activate()
Dim Blatt As Object
With Me.ComboBox1
.Clear
For Each Blatt In ActiveWorkbook.Sheets
For Each Blatt In ActiveWorkbook.Sheets
If LCase(Left(Blatt.Name, 6)) = "umsatz" Then
.AddItem Blatt.Name
End If
Next
Next
End With
End Sub

Anzeige
AW: Hilfe VBA - Korrektur
21.08.2011 22:55:46
fcs
Hallo Julia,
da waren mir beim Kopieren ein paar Zeilen doppelt in die Antwort geraten.
Gruß Franz
Private Sub Commandbutton1_Click()
Unload Me
End Sub
Private Sub ComboBox1_Click()
Sheets(Me.ComboBox1.Value).Activate
End Sub
Private Sub UserForm_Activate()
Dim Blatt As Object
With Me.ComboBox1
.Clear
For Each Blatt In ActiveWorkbook.Sheets
If LCase(Left(Blatt.Name, 6)) = "umsatz" Then
.AddItem Blatt.Name
End If
Next
End With
End Sub

AW: Hilfe VBA - Korrektur
23.08.2011 17:38:25
Julia
Hallo Franz,
ich hätte nie gedacht, dass jemand so schnell antwortet. Vielen Dank.
Ich habe versucht deinen Code einzubauen. Leider kommt immer Laufzeitfehler und das drop down ist leer. *Grml*
Kann du mir mal an einem Beispiel zeigen wie du den Code eingebaut hast. Wäre super lieb von dir.
Ich lade mal eine Datei hoch, die in etwa so aufgebaut ist, wie die eigentlich Umsatztabelle.
Hoffe ich nerve dich nicht zu arg.
https://www.herber.de/bbs/user/76328.xls
Liebe Grüße,
Julia
Anzeige
AW: Hilfe VBA - Korrektur
24.08.2011 01:30:33
fcs
Hallo Julia,
das war jetzt doch erhebnlich komplizierter als in deiner 1. Beschreibung.
Außerdem bezog sich mein Codebeispiel auf ein Userform und es wurden alle Blattnamen in eine Combobox geladen.
In den Active-X-Comboboxen funktioniert das Ganze ähnlich. Da du aber die Blattnamen auf 6 verschiedene Boxen verteilen willst, müssen entsprechende Prüfkriterien eingebaut werden.
Damit es optisch bei den schmalen Boxen etwas schöner aussieht hab ich die Comboxen 2-spaltig gemacht.
Unter den Eigenschaften der Comboboxen ist ColumnCount jetzt 2.
Durch die Einstellung BoundColumn=2 und TextColumn=1 werden die Monate angezeigt, der Wert der Box entspricht aber dem Eintrag in der 2. Spalte - hier also dem Blattnamen.
Beim Öffnen der Datei werden die Auswahllisten aktualisiert. Der Code hierzu steht unter "DieseArbeitsmappe". Zusätzlich kann die Liste mit der Schaltfläche im Blatt aktualisiert werden.
https://www.herber.de/bbs/user/76335.xls
Gruß
Franz
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige