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

Abfrage von ActiveSheet.Name

Forumthread: Abfrage von ActiveSheet.Name

Abfrage von ActiveSheet.Name
19.09.2002 10:54:12
matthiasq
Hallo,

ich habe in VBA die Tabellen von z.B. Tabelle1 auf Mgt_Summe umbenannt.
Wie kann ich diesen Namen abfragen?

Mein Versuch:

If ActiveSheet Is [Mgt_Summe] Then
x = 1
Else: x = 2
End If

funktioniert leider nicht.

Danke.

Matthias

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Abfrage von ActiveSheet.Name
19.09.2002 11:00:28
Andreas S
Hallo, so geht's:

If ActiveSheet.Name = "Mgt_Summe" Then

Gruss
Andreas

Re: Abfrage von ActiveSheet.Name
19.09.2002 11:02:15
Severin Hauser
Probiers mal mit
ActiveSheet.name
Re: Abfrage von ActiveSheet.Name
19.09.2002 11:08:57
matthias
Hallo Andreas,

vielleicht habe ich mich nicht richtig ausgedrückt.

Man kann im Eigenschaftsfensten einmal die Option "(Name)" und einmal "Name" ändern. "Name" ist gleichbedeutend mit der angezeigten Bezeichnung im Reiter, währen "(Name)" der VBA-Name der Tabelle ist.

Den "Name" kann ich mit ActiveSheet.Name abfragen. Wie aber den "(Name)"?

Matthias

Anzeige
Re: Abfrage von ActiveSheet.Name
19.09.2002 11:12:44
Andreas S
Achso,
das geht über ActiveSheet.Codename

Gruss
Andreas

Re: Abfrage von ActiveSheet.Name
19.09.2002 11:14:57
matthias
Das wars.

Danke.

Matthias

;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Abfrage des aktiven Arbeitsblattnamens in Excel VBA


Schritt-für-Schritt-Anleitung

Um den Namen des aktiven Arbeitsblattes in Excel VBA abzufragen, kannst Du die Eigenschaft ActiveSheet.Name verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne das VBA-Editor-Fenster in Excel (drücke ALT + F11).

  2. Füge ein neues Modul hinzu (Rechtsklick auf "VBAProject" > "Einfügen" > "Modul").

  3. Schreibe den folgenden Code in das Modul:

    Sub GetActiveSheetName()
       Dim sheetName As String
       sheetName = ActiveSheet.Name
       MsgBox "Der Name des aktiven Arbeitsblatts ist: " & sheetName
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Führe das Makro aus (drücke ALT + F8, wähle GetActiveSheetName und klicke auf "Ausführen").


Häufige Fehler und Lösungen

  • Fehler: "Objektvariable oder With-Blockvariable nicht festgelegt."

    • Lösung: Stelle sicher, dass Du ein Arbeitsblatt aktiv hast, bevor Du den Code ausführst.
  • Fehler: "Typen unverträglich."

    • Lösung: Überprüfe, ob Du den richtigen Datentyp für Variablen verwendest. ActiveSheet.Name gibt einen String zurück.
  • Problem: Abfrage des "(Name)" des Arbeitsblatts.

    • Lösung: Nutze ActiveSheet.CodeName, um den internen Namen des Arbeitsblatts zu erhalten.

Alternative Methoden

Eine alternative Methode, um den Namen des aktiven Arbeitsblatts abzufragen, ist die Verwendung der ThisWorkbook-Eigenschaft:

Sub GetActiveSheetNameAlternative()
    Dim sheetName As String
    sheetName = ThisWorkbook.ActiveSheet.Name
    MsgBox "Der Name des aktiven Arbeitsblatts ist: " & sheetName
End Sub

Diese Methode ist besonders nützlich, wenn Du sicherstellen möchtest, dass Du auf das aktive Arbeitsblatt innerhalb eines bestimmten Arbeitsbuchs zugreifst.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du den aktiven Arbeitsblattnamen weiterverwenden kannst:

  1. Abfrage und Bedingung:

    Sub CheckActiveSheetName()
       If ActiveSheet.Name = "Mgt_Summe" Then
           MsgBox "Das aktive Arbeitsblatt ist Mgt_Summe."
       Else
           MsgBox "Das aktive Arbeitsblatt ist nicht Mgt_Summe."
       End If
    End Sub
  2. Verwendung im Code:

    Sub RenameActiveSheet()
       If ActiveSheet.Name = "AlteBezeichnung" Then
           ActiveSheet.Name = "NeueBezeichnung"
           MsgBox "Das Arbeitsblatt wurde umbenannt."
       End If
    End Sub

Tipps für Profis

  • Verwende ActiveSheet.CodeName, um den Code-Namen des Arbeitsblattes zu nutzen, da dieser nicht verändert werden kann, wenn der Benutzer den Namen im Excel-Reiter ändert.
  • Nutze Fehlerbehandlungsroutinen, um zu verhindern, dass dein Code aufgrund unerwarteter Bedingungen abbricht.

    On Error Resume Next
    Dim sheetName As String
    sheetName = ActiveSheet.Name
    If Err.Number <> 0 Then
       MsgBox "Ein Fehler ist aufgetreten: " & Err.Description
    End If
    On Error GoTo 0

FAQ: Häufige Fragen

1. Wie kann ich den Namen des aktiven Arbeitsblatts in einer Variablen speichern? Du kannst den Namen des aktiven Arbeitsblatts einfach mit folgendem Code speichern:

Dim sheetName As String
sheetName = ActiveSheet.Name

2. Wie kann ich den internen Namen eines Arbeitsblatts abfragen? Verwende die Eigenschaft CodeName:

Dim internalName As String
internalName = ActiveSheet.CodeName

3. Was passiert, wenn ich versuche, den Namen eines nicht existierenden Arbeitsblatts abzufragen? Wenn das Arbeitsblatt nicht existiert, wird ein Laufzeitfehler ausgelöst. Stelle sicher, dass Du ein aktives Arbeitsblatt hast, bevor Du den Code ausführst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige