Avatar billede skodaen Nybegynder
22. august 2005 - 23:14 Der er 10 kommentarer og
1 løsning

VBA kode til at låse paste

Er det muligt at skrive en vba kode,der låser paste,så man
kun kan indsætte værdier i celler.
Avatar billede dragonknight Juniormester
23. august 2005 - 00:01 #1
Kan det ikke fikses ved hjælp af en makro, som du knytter til en CTRL+ et eller andet taste kombination ? ?
Avatar billede martin_moth Mester
23. august 2005 - 10:47 #2
Spørgsmål ikke forstået....

"...kun kan indsætte værdier i celler."

Hmmm - hvad er det så man IKKE må indsætte i celler? Tekst eller?
Avatar billede dragonknight Juniormester
23. august 2005 - 14:35 #3
Jeg tror det er "Indsæt Speciel" "Indsæt Værdier" han hentyder til.

På den måde bibeholder cellerne du paster i alle de andre egenskaber de har, så som font, fontstørrelse osv.
Avatar billede martin_moth Mester
23. august 2005 - 16:19 #4
Aha - det kunne nu også forstås anderledes (at man godt kan paste '1234' men ikke 'Hej')
Avatar billede skodaen Nybegynder
23. august 2005 - 19:09 #5
Spørgsmålet er som dragonknight skriver:
"Indsæt Speciel" "Indsæt Værdier"
På den måde bibeholder cellerne du paster i alle de andre egenskaber de har, så som font, fontstørrelse osv.VBA kode til dette(paste er låst:man kan kun indsætte værdier,ikke formatering(fyldfarve,rammer,mønstre,osv.)
mvh. Skodaen
Avatar billede dragonknight Juniormester
23. august 2005 - 21:06 #6
Har du prøvet at indspille en macro til dette ? ?
Avatar billede skodaen Nybegynder
23. august 2005 - 22:52 #7
Ja det har jeg sådan her ser den ud:
Sub test()
    Range("A1").Select
    Selection.Copy
    Range("B1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    ActiveSheet.Paste
    Application.CutCopyMode = False
End Sub
Men problemet er:hvis en bruger kopier fks. Range("B11"),derefter paster i fks.
Range("C21"),uden at markere"kun værdier",så ryger formateringen i Range("C21")
Derfor skal det kun være muligt at paste værdier.
mvh.skodaen
Avatar billede dragonknight Juniormester
23. august 2005 - 23:07 #8
Det jeg mener, er at indspille en macro:

Først skal du markere en celle, og CTRL+c, så der er et eller andet at paste. Marker et tomt felt. Derefter skal du:

Funktioner > Macro > indspil ny macro > Giv den et navn > giv den en CTRL+ et eller andet (CTRL+Q f.eks) > Gem den et passende sted. Når du er tilfreds trykker du på OK.

Alt hvad du gør herefter bliver rekorderet, derfor:

Klik på Rediger > klik på Indsæt specielt > Marker værdier og tryk ok. Nu skal du stoppe rekorderingen, og det gør du ved at trykke firkanten i det lille vindue der kom frem.

Nu kan du bruge CTRL+Q til at paste specielt, og alle de andre egenskaber bevares.
Avatar billede skodaen Nybegynder
24. august 2005 - 17:50 #9
Sådan her:
Sub pasteværdier()
'
' pasteværdier Makro
' Makro indspillet 24-08-2005 af skodaen
'
' Genvejstast:Ctrl+q
'
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub
Det virker,men Kan man ikke lave en kode der ændre default indstillingen for paste
så den ikke er all,men values evt. under workbook open
mvh. skodaen

???????xlPasteValues
Avatar billede dragonknight Juniormester
25. august 2005 - 18:36 #10
Jeg anvender selv Paste special meget, og det er ikke lykkedes mig at finde anden metode end en macro, desværre  !

Nu er det heller ikke paste du anvender, men paste special, og der er jo netop for ikke at få alle egenskaberne fra den kopierede celle med over.

Jeg lægger det som et svar, og kunne du ikke bruge noget af det jeg skrev, så ser du bare bort fra det.
Avatar billede skodaen Nybegynder
26. august 2005 - 09:10 #11
Tak for indsatsen og jeg blev da klogere.
Lars(skodaen)
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
Kurser inden for grundlæggende programmering

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