Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Unterschied .Activate .Select

Forumthread: Unterschied .Activate .Select

Unterschied .Activate .Select
07.11.2003 10:26:35
Tobias
Hallo @all

Könnte mir bitte jemand den unterschied zwischen
Sheets("Sheet1").Select und
Sheets("Sheet1").Activate
erlären.

(auch bezüglich der Performance, geht was schneller?)

Danke fürs lesen und antworten!
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Unterschied .Activate .Select
07.11.2003 10:30:09
tobias
select markiert einen oder mehrere sheets
( = drücke mal mit gedrückter strg taste auf verschiedene sheets)

activate aktiviert ;) den einen sheet und stellt daher die richtige weise dar, einen sheet anzuzeigen

mfg

tobias
Keine Ahnung! Unterschied .Activate .Select
07.11.2003 10:30:27
Dominik
bin auch gerade am abfluchen über Select und activate!
Vor allem bei mir funktioniert es nicht!
HAJO meint es wäre teufelszeug, ich brauch es aber trotzdem ständig!
Siehe auch mein noch ungeklärter Beitrag von gestern!
Vielleicht kann ja mal jemand erklären, wrum das Zeug so scheiße ist und wie man es richtig verwendet?
Heute würde ich gerne immer wieder zwischen zwei Blättern hin und her springen, aber das funktioniert nicht!
Gruß Dominik
Anzeige
AW: Keine Ahnung! Unterschied .Activate .Select
07.11.2003 11:08:01
Matthias Damm
Hallo Dominik,

nein, sehr wahrscheinlich brauchst Du Activate und Select nicht. Schau Dir mal http://xlfaq.herber.de/xlBasics/main_sel.htm an, da ist das sehr schön erklärt.

Es gibt nur sehr wenige Fälle, wo Select sinnvoll ist, z.B. wenn Du nach Ende des Makroablaufs dem User ein bestimmtes Blatt präsentieren willst oder die Zelle aktivieren willst, in die der User wahrscheinlich als nächstes etwas eingeben will.

Schöne Grüße,
Matthias
Anzeige
siehe unten
07.11.2003 11:20:20
Tobias
Danke für den verweis, bin jetzt (so glaube ich) ein wenig ung entscheidend schlauer!
aber eine frage hab ich noch:siehe weiter unten

danke!
AW: Unterschied .Activate .Select
07.11.2003 10:32:40
Hajo_Zi
Hallo Tobias

am schnellsten geht es ohne Activate und select

schaue mal auf meine Homepage da ist ein Beispiel auf der Seite VBA.


Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte keine Mail, Probleme sollten im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Pro und Excel Version XP Pro


Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Unterschied zwischen .Activate und .Select in Excel VBA


Schritt-für-Schritt-Anleitung

  1. Verstehen des Unterschieds:

    • .Select wird verwendet, um ein oder mehrere Arbeitsblätter auszuwählen. Dies ermöglicht es dir, mehrere Blätter gleichzeitig zu markieren, ähnlich wie beim Drücken der Strg-Taste.
    • .Activate hingegen aktiviert ein Arbeitsblatt und zeigt es im Vordergrund an, sodass die Benutzerinteraktion mit diesem Blatt erfolgen kann.
  2. Beispiele für die Verwendung:

    Sheets("Sheet1").Select
    Sheets("Sheet1").Activate
  3. Performance:

    • Bei der Verwendung von .Activate und .Select kann es zu Performanceeinbußen kommen, insbesondere bei großen Datenmengen. Es wird empfohlen, sie nur dann zu verwenden, wenn es unbedingt notwendig ist.

Häufige Fehler und Lösungen

  • Problem: Der Versuch, zwischen Blättern zu wechseln, funktioniert nicht.

    • Lösung: Überprüfe, ob du die Blätter tatsächlich aktivierst oder auswählst. Überlege, ob du in deinem Code .Select oder .Activate an der richtigen Stelle verwendest.
  • Problem: Fehler bei der Verwendung von .Select und .Activate.

    • Lösung: In vielen Fällen ist es besser, direkt mit den Objekten zu arbeiten, ohne sie auszuwählen oder zu aktivieren. Das reduziert den Code und verbessert die Performance.

Alternative Methoden

Anstelle von .Select und .Activate kannst du die Objekte direkt ansprechen. Zum Beispiel:

Worksheets("Sheet1").Range("A1").Value = 10

In diesem Fall wird die Zelle A1 von Sheet1 direkt angesprochen, ohne vorher das Blatt aktivieren oder auswählen zu müssen.


Praktische Beispiele

  1. Aktivieren eines Arbeitsblatts:

    Sheets("Sheet2").Activate
  2. Auswählen mehrerer Blätter:

    Sheets(Array("Sheet1", "Sheet2")).Select
  3. Verwendung in einer Schleife:

    Dim ws As Worksheet
    For Each ws In ThisWorkbook.Worksheets
       ws.Activate
       ' Hier kannst du mit dem aktiven Blatt arbeiten
    Next ws

Tipps für Profis

  • Überlege, ob du die .Activate und .Select Befehle wirklich benötigst. Oft kannst du direkt mit den Objekten arbeiten, was deinen Code effizienter macht.
  • Nutze Option Explicit am Anfang deiner Module, um sicherzustellen, dass alle Variablen deklariert werden. Das hilft, Fehler zu vermeiden, die durch falsche Referenzen entstehen können.
  • Wenn du .Select verwendest, stelle sicher, dass du den Fokus auf das richtige Blatt legst, um Benutzerfehler zu vermeiden.

FAQ: Häufige Fragen

1. Was ist der Hauptunterschied zwischen .Select und .Activate?
.Select wird verwendet, um ein Arbeitsblatt oder einen Zellbereich auszuwählen, während .Activate das Arbeitsblatt oder den Zellbereich in den Vordergrund bringt und es für Benutzer interaktiv macht.

2. Wann sollte ich .Select oder .Activate vermeiden?
Es ist ratsam, sie zu vermeiden, wenn du direkt mit Objekten arbeiten kannst, da dies die Ausführungsgeschwindigkeit deines Codes verbessert.

3. Gibt es eine Möglichkeit, alle Blätter gleichzeitig auszuwählen?
Ja, du kannst mehrere Blätter mit Sheets(Array("Sheet1", "Sheet2")).Select auswählen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige