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

If ActiveSheet ..

Forumthread: If ActiveSheet ..

If ActiveSheet ..
13.06.2003 16: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 16:44:49
andre

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

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

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

Re: If ActiveSheet ..
13.06.2003 19: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 19:35:50
Martin

M.

;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
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.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige