Avatar billede geputzt Nybegynder
20. april 2005 - 17:49 Der er 6 kommentarer og
1 løsning

VBA: Fjerne formatering ved kopiering af celle

Er der er en smart måde at fjerne formateringen af kopierede celler i VBA?

F.eks. hvis brugeren kopierer en celle med en farvet baggrund, skal kun værdien i cellen indsættes i den nye celle (ligesom Rediger->Indsæt speciel->Værdier).

Jeg har set en løsning som netop gør det, dvs. ved alm. Paste (eller Cltr-V) insættes "Speciel->Værdier". Problemet er bare at denne løsning kun fungerer mellem ark og mapper i samme "instans" (proces) af Excel. Jeg har dog også brug for at det virker, hvis det kopierede kommer fra en anden instans af Excel.
Avatar billede jkrons Professor
20. april 2005 - 17:53 #1
Pr'øv at lave en makro med denne kode:

  ActiveSheet.PasteSpecial Format:="Tekst"

Det burde virke, også selv om informationen kommer fra en anden instans.
Avatar billede geputzt Nybegynder
20. april 2005 - 21:10 #2
Problemet med den løsningen, er at jeg derved mister "betydningen" af værdierne. Med mindre der findes en funktion, som tager en tekst-streng og giver et korrekt værdi-objekt.
Avatar billede jkrons Professor
20. april 2005 - 23:43 #3
Hvad mener du med "betydningen" af værdierne? Kan du prøve at givev et eksempel?
Avatar billede geputzt Nybegynder
21. april 2005 - 07:05 #4
Jeg er ikke sikker på at jeg bruger de rigtige termer - jeg er lige begyndt med VBA, men  det jeg mener er f.eks. hvis man kopierer en celle der indeholder en dato og fjerner formatteringen, får man antal dage der er gået siden 1. januar 1900 - et neutralt værdiformat, hvorimod hvis man paster med tekstformatering, "mistes" denne information, da indholdet af cellen kopieres verbatim (f.eks. 21-04-05). Håber det tydeliggør problemet?!
Avatar billede jkrons Professor
21. april 2005 - 08:23 #5
Jeg kan se problemet og ser lidt mere på det.
Avatar billede geputzt Nybegynder
21. april 2005 - 11:53 #6
Jeg har selv løst problemet. Nedenstående skulle gøre det:

Dim numformat As Variant
    numformat = Selection.NumberFormat
   
    ActiveSheet.Paste
   
    Selection.ClearFormats
    Selection.NumberFormat = numformat
Avatar billede jkrons Professor
21. april 2005 - 15:00 #7
Hvis det virker, virker det :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester