Autor: Peter Haserodt  --- Aus Excel VBA - Gruppe: Häufige Fragen

PasteSpecial - Zelle danach aktivieren

Autor: Peter Haserodt - Erstellt: --      - Letzte Revision: --
Nach PasteSpecial hat man oft das Problem, wenn man dies auf ein anderes Tabellenblatt ausführt,
dass dort ein selektierter Bereich übrig bleibt.
Hier die Lösung:

Option Explicit
	
Public Sub PasteSpecialSelect()
	Dim oQuelle As Worksheet, oZiel As Worksheet, oOldCell As Range
	' Idee Peter Haserodt 2006
	Set oQuelle = Worksheets(1)
	Set oZiel = Worksheets(2)
	oQuelle.Range("b2:B5").Copy
	' Jetzt ist das blöd selektiert:
	oZiel.Range("b2:b5").PasteSpecial (xlPasteFormats)
	' Und jetzt Zelle A1 ansteuern !!!
	oZiel.Range("a1").Copy
	oZiel.Range("a1").PasteSpecial (xlPasteFormats)
	Application.CutCopyMode = False
	' Anmerkung:
	' Dies lässt sich allgemein schön anwenden,
	' um in einer nicht aktiven
	' Tabelle eine Zelle zu aktivieren.
	' Uns nervt PasteSpecial - nun ,
	' dann nutzen wir es einfach aus :-)
	' Peter Haserodt 2006
End Sub


Ein Hinweis sei noch gestattet:

So elegant wie dies auch aussehen mag, betrügt Excel hier.
Tatsächlich aktiviert Excel das Blatt, auf welchem das PasteSpecial ausgeführt wird.
Somit werden auch diesbezügliche Ereignismakros ausgeführt.
Letztendlich ist es dann doch ein Aktivieren und Deaktivieren, nur das wir es nicht ausführen.


Weitere Artikel der Gruppe: Häufige Fragen Aus Excel VBA
Nach oben