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

Forumthread: VBA -> Markierung aufheben

VBA -> Markierung aufheben
02.06.2008 10:17:00
David
Hallo zusammen.
Nach Ablauf eines Makros sind 2 Tabellen komplett markiert. Diese Markierung möchte ich am Ende des Makros aufheben.
Bisher mache ich das mit diesen Zeilen:
wks2.Activate
Range("A1").Select
wks1.Activate
Range("A1").Select
Ich habe versucht, hier das Activate rauszustreichen, aber mit keiner Syntax führt er die Befehle korrekt aus. Das Select wäre meiner Meinung in dem Fall hier notwendig, um die Markierung aufzuheben.
Einen Befehl "Deselect" oder sowas ähnliches habe ich nicht gefunden.
Die Frage ist nun: Geht das auch einfacher/kürzer/professioneller?
Danke schon mal
Gruß
David

Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
wks1.Select 'hebt die Gruppierung auf _oT
02.06.2008 10:22:17
NoNet
_oT = "ohne Text"

AW: wks1.Select 'hebt die Gruppierung auf _oT
02.06.2008 10:27:54
David
Nein, das funzt bei mir nicht. Es kommt zwar keine Fehlermeldung, aber die beiden Tabellen sind weiterhin komplett markiert.
Gruß
David

AW: VBA -> Markierung aufheben
02.06.2008 10:24:00
Renee
Hi David,
Falls die Zellen nicht durch einen .Select markiert sind, sondern z.B. durch einen .Copy Befehl, dann so:

Application.CutCopyMode = False


GreetZ Renée

Anzeige
AW: VBA -> Markierung aufheben
02.06.2008 10:27:00
David
Danke, aber der Befehl ist mir bekannt.
Es geht wirklich nur um die Aufhebung der Markierung, die aktiv ist (vergleichbar mit einem Mausklick auf den Spalten/Zeilen-Bezeichner zwischen A und 1).
Gruß
David

AW: VBA -> Markierung aufheben
02.06.2008 10:34:00
Renee
Hi David,
vergleichbar mit einem Mausklick auf den Spalten/Zeilen-Bezeichner zwischen A1
Das wäre dann ein .Select, .Activate (oder Application.Goto...., was IMHO aufs Gleiche herauskommt, da beide Befehle die Position der ActiveCell verändern). Die Frage bleibt doch: Warum, bzw. durch was entsteht die Selection?
GreetZ Renée

Anzeige
AW: VBA -> Markierung aufheben
02.06.2008 10:25:21
Beverly
Hi David,
versuchs mal mit

Application.Goto Reference:=wks2.Range("A1")
Application.Goto Reference:=wks1.Range("A1")




AW: VBA -> Markierung aufheben
02.06.2008 10:29:18
David
Jep, das hat geklappt, danke Dir.
Gruß
David

Anzeige
Na, also doch ein Pseudo-Nirvana... ;-) Gruß owT
02.06.2008 10:32:32
Luc:-?
:-?

Nicht, dass ich wüsste! Das ist wohl einer...
02.06.2008 10:29:31
Luc:-?
...von den 1%-Fällen für .Select, David.
Es sei denn, man könnte das xlNirvana adressieren, so a la GoTo 0... ;-) Aber ich glaube, das hätte keine Auswirkungen auf die Tabelle.
Selektionsverzicht ist wohl allemal einfacher, dann bleibt aber auch selektiert, was beim Start selektiert war... Das könnte sich das Pgm aber merken und nach Abschluss dahin selektieren. Das wäre dann "als ob"...
Gruß Luc :-?

Anzeige
erledigt! Danke allen.
02.06.2008 10:32:43
David
Mich hat ja hier eher nicht das Select gestört, sondern das Activate. Die Markierung kommt in dem Fall durch das Einfügen von Inhalten über die Tabelle in der Mappe.
Sind ja eigentlich nur 2 Mausklicks, die dadurch eingespart werden, sieht aber nun mal schöner aus. ;-)
Aber die Lösung hab ich ja dann, dank Beverly.
Gruß
David
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Markierung in Excel VBA aufheben


Schritt-für-Schritt-Anleitung

Um die Markierung in Excel VBA aufzuheben, kannst Du die folgenden Schritte befolgen:

  1. Verwende Application.Goto: Du kannst die Markierung aufheben, indem Du die Application.Goto-Methode verwendest, um auf eine bestimmte Zelle zu navigieren. Zum Beispiel:

    Application.Goto Reference:=wks2.Range("A1")
    Application.Goto Reference:=wks1.Range("A1")
  2. Verwende Selection.Clear: Wenn Du die Markierung von einer Auswahl entfernen möchtest, kannst Du auch die Clear-Methode verwenden:

    Selection.Clear
  3. Nutze Application.CutCopyMode: Falls die Markierung durch einen Kopier-Befehl entstanden ist, kannst Du diesen mit folgendem Befehl aufheben:

    Application.CutCopyMode = False

Häufige Fehler und Lösungen

  1. Markierung bleibt bestehen: Wenn Du die Markierung nicht aufheben kannst, überprüfe, ob die Zellen durch einen Copy-Befehl markiert wurden. Der Befehl Application.CutCopyMode = False ist hier erforderlich.

  2. Fehlende Befehle: Wenn Du Select oder Activate nicht verwenden möchtest, versuche, die Application.Goto-Methode, um die aktuelle Auswahl zu ändern.

  3. Kein Effekt: Wenn Deine Befehle keinen Effekt haben, könnte es an der Reihenfolge der Befehle liegen. Stelle sicher, dass Du die Markierung nach dem Einfügen von Inhalten aufhebst.


Alternative Methoden

  • Verwendung von Deselect: Um eine Auswahl aufzuheben, kannst Du einen eigenen Deselect-Befehl implementieren, der die Selektion auf eine bestimmte Zelle zurücksetzt.

  • Verwende ActiveSheet: Du kannst auch den aktiven Arbeitsblattkontext nutzen, um die Markierung aufzuheben:

    ActiveSheet.Range("A1").Select

Praktische Beispiele

Hier sind einige Beispiele, wie Du die Markierung in VBA aufheben kannst:

  1. Einfaches Beispiel:

    Sub MarkierungAufheben()
       Application.Goto Reference:=Range("A1")
    End Sub
  2. Kopieren und dann Markierung aufheben:

    Sub KopierenUndAufheben()
       Range("A1:B2").Copy
       ' Irgendwelche weiteren Aktionen
       Application.CutCopyMode = False
    End Sub

Tipps für Profis

  • Vermeide Select und Activate: Diese Befehle können den Code verlangsamen. Nutze stattdessen direkte Referenzen auf Zellen oder Bereiche.

  • Nutze Variablen für Arbeitsblätter: Wenn Du mit mehreren Arbeitsblättern arbeitest, speichere diese in Variablen, um den Code lesbarer und effizienter zu gestalten.

  • Optimierung durch With...End With: Verwende die With-Anweisung, um mehrfach auf ein Objekt zuzugreifen, ohne es wiederholt angeben zu müssen.


FAQ: Häufige Fragen

1. Wie kann ich alle Markierungen auf einmal aufheben?
Du kannst die Markierung aufheben, indem Du einfach eine bestimmte Zelle wählst, z.B. Range("A1").Select.

2. Was ist der Unterschied zwischen Deselect und Clear?
Deselect hebt die Auswahl auf, während Clear den Inhalt der markierten Zellen entfernt.

3. Funktioniert das auch in älteren Excel-Versionen?
Ja, die meisten dieser Befehle sind in den gängigen Excel-Versionen verfügbar. Achte darauf, dass Du die VBA-Umgebung korrekt eingerichtet hast.

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