Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1428to1432
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

ComboBox

ComboBox
07.06.2015 10:49:58
chito
Hallo zusammen,
mit folgendem Code lasse ich mir über eine Combobox meine tabellenblätter anzeigen
Private Sub ComboBox1_DropButtonClick()
Dim wsTabelle As Worksheet
ComboBox1.Clear
For Each wsTabelle In Worksheets
ComboBox1.AddItem wsTabelle.Name
Next wsTabelle
End Sub

nun möchte ich per klick diese auch öffnen, wer kann mir da helfen
Gruß
chito

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ComboBox
07.06.2015 10:58:36
Nepumuk
Hallo,
so:
Private Sub ComboBox1_Change()
    With ComboBox1
        If .ListIndex > -1 Then Worksheets(.Text).Select
    End With
End Sub

Gruß
Nepumuk

Anzeige
AW: ComboBox
07.06.2015 11:02:05
chito
Hallo Nepumuk
danke für die schnelle Hilfe
gruß
chito

AW: ComboBox
07.06.2015 11:33:23
chito
hallo ich bin es nochmal,
meine Tabellen sind ausgeblendet und dein Code funktioniert so leider nicht
sorry hätte ich vorher sagen sollen.
Gruß
chito

AW: ComboBox
07.06.2015 11:51:50
Nepumuk
Hallo,
soll die ausgewählte Tabelle eingeblendet werden?
Gruß
Nepumuk

AW: ComboBox
07.06.2015 12:18:19
chito
hi,
ja es sind ca 80 Blätter und auf klick in der Combobox soll das ausgewählte blatt angezeigt werden.
glaube ich hab es aber gelöst mit visible = true müsste jetzt nur selectet werden.
gruß
chito

AW: ComboBox
07.06.2015 11:33:33
chito
hallo ich bin es nochmal,
meine Tabellen sind ausgeblendet und dein Code funktioniert so leider nicht
sorry hätte ich vorher sagen sollen.
Gruß
chito

Anzeige
AW: ComboBox
07.06.2015 11:33:40
chito
hallo ich bin es nochmal,
meine Tabellen sind ausgeblendet und dein Code funktioniert so leider nicht
sorry hätte ich vorher sagen sollen.
Gruß
chito

AW: ComboBox
07.06.2015 11:46:38
Matthias
Hallo
.Select kann bei ausgeblendeten Tabellen nicht funktionieren, da sie sichtbar sein müssten.
Benutze .Activate
Denn man kann ein nicht sichtbares Sheet auch aktivieren.
Dann kann man mit ActiveSheet weiter arbeiten.
Gruß Matthias

AW: ComboBox
07.06.2015 20:18:53
Daniel
Hi Michael
nein, das geht nicht.
du kannst ein ausgeblendetes Blatt nicht aktivieren.
Es gibt zwar keine Fehlermeldung, wenn du das versuchst, aber es wird nicht aktiviert, sondern das zuletzt aktive sichtbare Blatt bleibt das aktive.
probier mal einfach folgenden code in einer Mappe mit zwei Blättern:
Sub test()
Tabelle1.Visible = xlSheetHidden
Debug.Print ActiveSheet.Name
Tabelle1.Activate
Debug.Print ActiveSheet.Name
End Sub

wenn du mit einem ausgeblendeten Blatt arbeiten willst musst du es immer direkt über Code-, SheetName, oder die Indexnummer referenzieren.
Gruß Daniel

Anzeige
AW: Hör endlich auf mich zu provozieren!
07.06.2015 23:03:07
Daniel
wenn du deinen Code mal im Einzelstepmodus testest und uns das Ergbenis berichtest, bitte ich untertänigst um Verzeihung
(vorallem was in bezug auf das, was in unserem letzen Aufeinandertreffen meine Aussage diesbezüglich war)
Gruß Daniel

Er kann's nicht lassen, weshalb ich deinen ...
08.06.2015 01:21:34
Luc:-?
…Test noch etwas ausgebaut habe, Matti:
Private Sub Workbook_Open()
Tabelle1.Activate   'Visible
MsgBox ActiveSheet.Cells(1, 1), vbExclamation, "Aktiv: " & ActiveSheet.Name
Tabelle2.Activate   'VeryHidden
MsgBox ActiveSheet.Cells(1, 1), vbExclamation, "Aktiv: " & ActiveSheet.Name
Tabelle3.Activate   'Visible
MsgBox ActiveSheet.Cells(1, 1), vbExclamation, "Aktiv: " & ActiveSheet.Name
End Sub
Und siehe da, alle Blätter wdn nacheinander aktiviert (lustige Texte kann jeder selbst in die BlattZellen einfügen)! ;-)
Der „schlaue“ Daniel ist hier einerseits auf die landläufige Gleichsetzung von .Select und .Activate und andererseits auf den SchrittModus des VBE, also auf dessen Pgmierung (!), hereingefallen. Aber …
1. sind diese beiden Befehle nicht identisch, genausowenig wie ActiveWorkbook und ThisWorkbook, was auch allzuoft als synonym angesehen wird (eine PgmierSprache enthält im Ggsatz zu einer natürlichen iaR keine echten Synonyme!), und …
2. „denkt“ der VBE scheinbar mit und lässt ausgeblendete Blätter einfach aus, was in der VBA-Realität aber nicht geschieht.
Genau deshalb erhält man im SchrittModus des VBE mitunter Ergebnisse bzw wdn Anweisungen ausgeführt, die in der VBA-Realität nicht zustandekommen bzw versagen. Hier ist es mal umgekehrt.
Fazit: Man sollte sich niemals 100%ig auf die Ergebnisse einer unterstützenden Sekundär­Software, wie es auch d(ies)er VBE(-Modus) ist, verlassen. Er ist ein Hilfsmittel, nicht mehr und auch nicht weniger!
Dabei muss man natürlich bedenken, dass dasselbe auch für VBA-Compiler und -Interpreter gilt. Das sind auch nur Pgmm, die bei der nächsten VBA- bzw Xl-Erweiterung verändert wdn könnten, so dass bisher fktionierendes, „randständig“ Pgmiertes uU nicht mehr fktioniert. So etwas ist bei Versions­wechsel schon aufgetreten, auch ohne dass betroffene Objekte entfallen sind.
Gruß, Luc :-?

Anzeige
AW: Er kann's nicht lassen, weshalb ich deinen ...
08.06.2015 03:07:44
Daniel
Hi Luc
ok, es mag sein, das du auf dem Excelprogrammierniveau, auf dem du dich befindest, den Einzelstepmodus nie benötigts.
Aber bedenke, dass andere die nicht auf deinem Niveau sind ggf auf den Einzelstepmodus des VBA-Interpreters angewiesen sind, um ihre Programme durchzutesten und die Fehlerursache zu finden (ja Luc, auch wenn du fehlerfrei bist, andere Menschen machen fehler).
Und dann kann es sich fatal auswirken, wenn beim Testen im Einzelstep nicht mehr das ursprünglich angesprochene Blatt verwendet wird, sondern ein ganz anderes.
Wer daher die Empfelung ausgibt man könne problemlos ausgeblendete Blätter aktivieren und dann diese ohne Angabe des Sheets bearbeiten, muss immer die Warnung dazu aussprechen, dass dies im Einzelstepmodus nicht funktioniert. Ansonsten handelt er meiner Meinung nach grob Fahrlässig (wenn er um diesen Umstand weiss).
Wer gelegentlich den Einzelstepmodus benutzen muss, sollte darauf achten, so zu programmieren dass echter programmlauf und Ausführung im Einzelstepmodus gleich funktionieren, alles andere wäre eine Dummheit.
Gruß Daniel

Anzeige
Wenn ich den EinzelStepModus nie benutzen ...
10.06.2015 03:33:26
Luc:-?
…würde, Daniel,
würde ich das gar nicht wissen, was ich geschrieben habe. Aber letztlich läuft ein Pgm im täglichen Gebrauch nun mal nicht in diesem Modus! Außerdem gibt's noch andere Möglichkeiten, PgmAbläufe zu testen, zB Debug.Print bzw MsgBoxes.
Außerdem möchte ich mal sehen, wie du ein Pgm im EinzelSchrittModus durchgehen willst, dass per Evaluate abgearbeitet wird. Und das ist wohl nicht die einzige Möglichkeit, dass VBA einen PgmHalt verweigert…
Und was die Fahrlässigkeit betrifft, wenn's nach deiner Meinung ginge, müsste man sehr viel mehr Warnungen in Foren lesen als real ausgesprochen wdn… Die Allermeisten beschränken sich doch auf die Wiedergabe ihrer eigenen Erfahrungen. Und dazu müssen bestimmte XL/VBA-Verhaltens­weisen bzw Fehler­möglich­keiten nun mal nicht unbedingt gehören.
Luc :-?

Anzeige
AW: Wenn ich den EinzelStepModus nie benutzen ...
10.06.2015 13:22:17
Daniel
nö, natürlich nicht, aber wenn man Makros erstellt, ist der Einzelstepmodus halt schon interessant.
und wenn man dann mal aus versehen das Cells.Clear auf ein falsches Blatt anwendet, dann ist das durchausaus eine Erfahrung, die man anderen ersparen möchte.
Das in Evaluate der Einzestepmodus nicht funktioniert, ist nur ein weiterer Grund, diese Art der Programmierung nur dann einzusetzen, wenns nicht anders geht.

Musste ja auch nicht einsetzen! ;-] owT
10.06.2015 18:02:37
Luc:-?
:-?

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige