Toon posts:

[VBA/Excel] Alternatieve CopyPaste Macro

Pagina: 1
Acties:

Verwijderd

Topicstarter
Omdat ik zeer vaak in excel copy & paste formats doe, wil ik daar een macro van maken zodat ik niet steeds rechtsklik-paste special-format's hoef aan te klikken, maar net als Ctrl-C Ctrl-V nu gewoon Ctrl-C Ctrl-D ofzo kan doen. Bijna identiek dus aan de originele copy/paste functie.

Macro die ik nu gemaakt heb doet wel het belangrijkste wel, maar is nog niet echt mooi:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
Sub PastSpecialFormats()

Roww = ActiveCell.Row ' save to reposition cell pointer when done
Coll = ActiveCell.Column

     Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
     Application.CutCopyMode = False
     
Cells(Roww, Coll).Select ' reposition cell pointer
Selection.Copy

End Sub
Twee dingen kan ik niet oplossen:

1) Aan het einde selecteert de macro nu als "copy-source" de cell links-boven in de PASTE range (of als je die reposition code eruit haalt, wordt de hele paste-range geselecteerd met selection.copy). Ik wil dat de originele "copy-source"-cell gekopieerd blijft staan. (net zoals dat blijft na een gewone copy/paste handeling)

Duidelijk is dat met Active.Cell alleen de paste-range gelocaliseerd kan worden (die immers "actief" is omdat je daarin wil pasten). Hoe kan ik de "copy-source" range/cell localiseren ?

2) Als er geen cell geselecteerd/gecopied is, en je runt de macro dan komt er een foutmelding.

Heb al allerlei nieuwsgroepen doorzocht, maar kom er niet uit. Any idea ?

  • Maasluip
  • Registratie: April 2002
  • Laatst online: 08:44

Maasluip

Kabbelend watertje

Voor punt 1: kun je een static of global variable (Dim ... as Range) maken en die vullen als je CTRL-C gebruikt? In je CTRL-D moet je die dan uitlezen en je hebt je source range.

Voor punt 2: kun je aan het begin een on error plaatsen en aan het einde een errorhandler om de foutmelding af te handelen?
(gewoon in de help van Excel zoeken op error moet je voorbeelden geven)

Of kijken of je iets geselecteerd hebt en zo niet, dan niets uitvoeren.

[ Voor 26% gewijzigd door Maasluip op 30-01-2004 15:32 . Reden: Voorstel voor het eerste probleem toegevoegd ]

Signatures zijn voor boomers.