Der einfache VBA- Befehl zum Anzeigen eines anderen Arbeitsblattes Wie man in EXCEL unter VBA zu einem anderen Arbeitsblatt (Sheet) wechselt hat sich sicher schon herumgesprochen (man kann es ja notfalls auch aufzeichnen): Sub Makro1() Sheets(4).Select ' ... oder Worksheets(4).Select End Sub Sub Makro2() Sheets("Mein_Arbeits_Blatt").Select ' ... oder Worksheets("Mein_Arbeits_Blatt").Select End Sub Das ist ja auch nicht falsch so. Was aber, wenn im ersten Fall (Makro1) die Arbeitsmappe weniger als vier Blätter hat? Oder aber wenn im zweiten Fall (Makro2) die Mappe überhaupt kein Sheet mit diesen Namen hat? Natürlich! Excel meckert rum Was ist zu tun? Anmerkung:
Sub Makro11() ' Testen ob es mindestens 4 Arbeitsblätter ' in der Mappe gibt und ... If Sheets.Count < 4 Then ' ... wenn nein: eine entsprechende Fehlermeldung ausgeben: MsgBox " Umschalten auf Blatt 4 nicht möglich ! ", _ 48, " Arbeitsblatt nicht vorhanden :-( " Else ' ... wenn ja: Anzeige auf das 4-te Blatt umschalten. Sheets(4).Select End If End Sub Sub Macro12() ' Hilfsvariablen Dim i As Integer Dim bExists As Boolean ' Testen ob's ein Sheet mit dem Namen ' "Mein_Arbeits_Blatt" gibt und ... For i = 1 To Sheets.Count If Sheets(i).Name = "Mein_Arbeits_Blatt" Then bExists = True: Exit For End If Next i If bExists Then ' ... wenn ja: Anzeige auf dieses Blatt umschalten Sheets("Mein_Arbeits_Blatt").Select Else ' ... wenn nein: ein solches Blatt erstellen. Beep Sheets.Add ActiveSheet.Name = "Mein_Arbeits_Blatt" End If End Sub Alternative: ' Hilfsvariablen Dim ws As Worksheet Dim bExists As Boolean ' Alle vorhandenen Arbeitsblätter durchlaufen For Each ws In Worksheets If ws.Name = "Mein_Arbeits_Blatt" Then bExists = True: Exit For End If Next ... Dieser Tipp wurde bereits 269.591 mal aufgerufen.
Anzeige
![]() ![]() ![]() Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevWizard für VB5/6 ![]() Professionelle Assistenten im Handumdrehen Erstellen Sie eigene Assistenten (Wizards) im Look & Feel von Windows 2000/XP - mit allem Komfort und zwar in Windeseile :-) Tipp des Monats ![]() Matthias Kozlowski Umlaute konvertieren Ersetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) Access-Tools Vol.1 ![]() Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |