Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA - Sheet auswählen

VBA - Sheet auswählen
Franz
Hallo zusammen,
ich stehe vor folgenden Problem.
Ich möchte das Sheet auswählen, was in der aktiven Zelle hinterlegt ist. Habe mir das so gedacht, aber das funktioniert nicht.
Reiter= ActiveCell.Offset(0, 0).Value
Sheets(Reiter).Select
Was mache ich falsch?
Viele Grüße und danke im Voraus!
Franz

Anzeige

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

Betreff
Benutzer
Anzeige
AW: VBA - Sheet auswählen
07.09.2012 19:34:03
Hajo_Zi
Hallo Franz,
wir sehen Deine Datei nicht.
es reicht auch
Sheets(ActiveCell).Select

AW: VBA - Sheet auswählen
07.09.2012 20:02:25
Franz
Hallo Hajo,
es lag daran (vermute ich), dass der Reitername aus einer Zahl bestand.
Mit
Name = ActiveCell.Offset(0, 0).Text
Sheets(Name).Select
klappt es.
Danke!
Viele Grüße
Franz
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

VBA zur Auswahl von Sheets in Excel


Schritt-für-Schritt-Anleitung

Um in Excel VBA ein bestimmtes Sheet auszuwählen, kannst du den folgenden Code verwenden. Dieser Code wählt das Arbeitsblatt aus, das in der aktiven Zelle hinterlegt ist:

Sub SelectSheet()
    Dim Name As String
    Name = ActiveCell.Offset(0, 0).Text
    Sheets(Name).Select
End Sub

In diesem Beispiel wird der Name des Sheets aus der aktiven Zelle gelesen. Verwende ActiveCell.Offset(0, 0).Text, um sicherzustellen, dass der Name korrekt gelesen wird, auch wenn er aus einer Zahl besteht.


Häufige Fehler und Lösungen

  1. Fehler: "Laufzeitfehler 9: Index außerhalb des gültigen Bereichs"

    • Lösung: Dies passiert, wenn der eingegebene Name nicht mit einem vorhandenen Sheet-Namen übereinstimmt. Überprüfe, ob der Name in der aktiven Zelle korrekt ist.
  2. Fehler: "Objektvariable oder With-Blockvariable nicht festgelegt"

    • Lösung: Stelle sicher, dass das Sheet existiert, bevor du versuchst, es auszuwählen. Verwende eine If-Bedingung, um dies zu überprüfen.
If Not Evaluate("ISREF('" & Name & "'!A1)") Then
    MsgBox "Das Sheet existiert nicht."
Else
    Sheets(Name).Select
End If

Alternative Methoden

Wenn du mehrere Sheets aktivieren oder aus einer Liste auswählen möchtest, kannst du auch Sheets.Select verwenden:

Sub SelectMultipleSheets()
    Sheets(Array("Sheet1", "Sheet2")).Select
End Sub

Damit kannst du mehrere Tabellenblätter gleichzeitig aktivieren. Dies ist praktisch, wenn du mehrere Datenquellen in Excel VBA verwalten möchtest.


Praktische Beispiele

  1. Aktives Tabellenblatt ansprechen:

    Sub ActiveSheetExample()
       MsgBox "Das aktive Tabellenblatt ist: " & ActiveSheet.Name
    End Sub
  2. Daten aus einer anderen Datei auslesen:

    Sub ReadDataFromAnotherFile()
       Dim wb As Workbook
       Set wb = Workbooks.Open("C:\Pfad\zur\Datei.xlsx")
       wb.Sheets(1).Select
       ' Weiterverarbeitung hier
       wb.Close
    End Sub

Tipps für Profis

  • Nutze With-Anweisungen, um den Code effizienter zu gestalten, wenn du mehrere Operationen auf dasselbe Sheet ausführen möchtest:
With Sheets("SheetName")
    .Range("A1").Value = "Beispiel"
    .Range("A2").Value = "Test"
End With
  • Verwende Application.ScreenUpdating = False, um die Leistung zu verbessern, wenn du mehrere Sheets bearbeitest.

FAQ: Häufige Fragen

1. Wie kann ich ein Sheet aktivieren, ohne es auszuwählen? Du kannst ein Arbeitsblatt aktivieren, ohne es auszuwählen, indem du Sheets("SheetName").Activate verwendest.

2. Was ist der Unterschied zwischen Sheets und Worksheets in VBA? Sheets bezieht sich auf alle Sheets (einschließlich Diagramme), während Worksheets nur die Arbeitsblätter umfasst. Verwende Worksheets, wenn du sicherstellen möchtest, dass nur Tabellenblätter angesprochen werden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige