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

If ActiveSheet ..

Forumthread: If ActiveSheet ..

If ActiveSheet ..
13.06.2003 18:31:55
Martin
Hallo,

ich möchte in A1 springen, wenn das Active Sheet ein bestimmtes ist.

Meine Versuche mit

hauen nicht hin. Was mache ich falsch?

Gruss,
Martin

Anzeige

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

Betreff
Datum
Anwender
Anzeige
Re: If ActiveSheet ..
13.06.2003 18:44:49
andre

hallo martin,
If ActiveSheet.name = "xy"...
gruss andre

Re: If ActiveSheet ..
13.06.2003 18:45:19
Nepumuk

Hallo Martin,
durch welches Ereignis soll das ausgelöst werden?
Gruß
Nepumuk

Re: If ActiveSheet ..
13.06.2003 21:23:54
Thomas Risi

Hallo Martin

So sollte es funktionieren ...

If ActiveSheet Is Sheets("xy") Then ActiveSheet.Range("A1").Select

Beispiel:



Option Explicit

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    If ActiveSheet Is Sheets("Tabelle1"Then _
        ActiveSheet.Range("A1").Select
End Sub



     Code eingefügt mit Syntaxhighlighter 2.1

Gruß
Thomas

Risi Thomas Softwareentwicklung



Anzeige
Danke an alle! (oT)
13.06.2003 21:35:50
Martin

M.

Forumthreads zu verwandten Themen

Anzeige

Infobox / Tutorial

VBA: Mit ActiveSheet arbeiten und Bedingungen setzen


Schritt-für-Schritt-Anleitung

Um in Excel VBA zu prüfen, ob das aktive Blatt einem bestimmten Namen entspricht und dann eine Aktion auszuführen, kannst du die folgende Schritt-für-Schritt-Anleitung befolgen:

  1. Öffne den VBA-Editor in Excel mit ALT + F11.

  2. Wähle das entsprechende Arbeitsbuch im Projekt-Explorer aus.

  3. Füge ein neues Modul hinzu, indem du mit der rechten Maustaste auf "Module" klickst und "Einfügen" > "Modul" wählst.

  4. Schreibe den folgenden Code:

    Option Explicit
    
    Private Sub Workbook_SheetActivate(ByVal Sh As Object)
       If ActiveSheet.Name = "Tabelle1" Then
           ActiveSheet.Range("A1").Select
       End If
    End Sub
  5. Schließe den VBA-Editor und teste den Code, indem du zu "Tabelle1" wechselst.


Häufige Fehler und Lösungen

  • Fehler: Der Code funktioniert nicht, wenn ich die Arbeitsmappe öffne.

    • Lösung: Stelle sicher, dass der Code im ThisWorkbook-Modul platziert ist, da es sich um ein Arbeitsmappe-Ereignis handelt.
  • Fehler: Der aktive Blattname wird nicht erkannt.

    • Lösung: Achte darauf, dass der Blattname exakt übereinstimmt, einschließlich Groß- und Kleinschreibung.

Alternative Methoden

Es gibt verschiedene Möglichkeiten, mit dem aktiven Blatt zu arbeiten. Eine Alternative zu ActiveSheet ist die Verwendung von Worksheets:

If Worksheets("Tabelle1").Name = ActiveSheet.Name Then
    ' Deine Aktionen hier
End If

Du kannst auch mit With ActiveSheet arbeiten, um den Code klarer zu strukturieren:

With ActiveSheet
    If .Name = "Tabelle1" Then
        .Range("A1").Select
    End If
End With

Praktische Beispiele

  1. Springe zu einer bestimmten Zelle, wenn das aktive Blatt "Daten" ist:

    Private Sub Workbook_SheetActivate(ByVal Sh As Object)
       If ActiveSheet.Name = "Daten" Then
           ActiveSheet.Range("B2").Select
       End If
    End Sub
  2. Ändere den Hintergrund des aktiven Blatts, wenn der Name "Bericht" ist:

    Private Sub Workbook_SheetActivate(ByVal Sh As Object)
       If ActiveSheet.Name = "Bericht" Then
           ActiveSheet.Cells.Interior.Color = RGB(255, 255, 0) ' Gelb
       End If
    End Sub

Tipps für Profis

  • Nutze die Option Explicit Anweisung, um sicherzustellen, dass alle Variablen deklariert sind. Dies hilft, Fehler zu vermeiden.
  • Verwende die Select-Methode sparsam, um die Effizienz deines Codes zu steigern. Es ist oft besser, direkt auf die Range zuzugreifen.
  • Experimentiere mit If ActiveSheet.Name Like "Tabelle*" für flexiblere Bedingungen, die auf Namensmuster basieren.

FAQ: Häufige Fragen

1. Wie kann ich prüfen, ob das aktive Blatt ein bestimmtes Blatt ist, ohne den Namen zu kennen?
Du kannst die Indexnummer des Blattes verwenden, z.B. If ActiveSheet.Index = 1 Then.

2. Was passiert, wenn ich ein Blatt umbenenne?
Der Code wird weiterhin funktionieren, solange der Name im Code mit dem aktuellen Namen übereinstimmt. Ansonsten musst du den Namen im Code aktualisieren.