VBA Klistra in

Excel VBA-klistra in

Det finns tre olika sätt att klistra in vissa data från plats till annan i ett kalkylblad med VBA, den första metoden är att normalt hänvisa värdena från en cell till en annan cell med hjälp av tilldelningsoperatören, en annan metod är att använda klistra in funktionen och tredje metoden är genom att använda den tidigare specialfunktionen.

Kopiera och klistra in är det vanligaste vi gör dag ut på vår arbetsplats. I ett vanligt kalkylblad behöver vi ingen speciell introduktion till det. I VBA-programmering är det mycket viktigt att förstå begreppet "PASTE" -metoden för att förstå programmet för att gå vidare till nästa nivå.

Förstå VBA-klistra metoden genom att spela in en makro

För att inleda förfarandet kan vi förstå hur klistra metoden fungerar genom att spela in ett enkelt makro. Jag har angett ett värde i cellen A1 som visas i bilden nedan.

Nu visar jag dig metoden för kopiering och klistra in från cell A1 till A3. Följ stegen nedan för att spela in ett makro.

Steg 1: Klicka på Spela in makro under fliken Excel-utvecklare.

Steg 2: I det ögonblick du klickar på spela in makro kommer det att visa dig namnet på standardmakrot. Från och med nu klickar du bara på OK.

Steg 3: När du klickar på ok börjar det spela in de aktiviteter du gör. Det första du behöver göra är att välja cellen A1 som ska kopieras.

Steg 4: Tryck nu på Ctrl + C för att kopiera den valda cellen.

Steg 5: Välj nu cellen A3 där vi behöver klistra in det kopierade värdet.

Steg 6: Klistra in nu genom att trycka på Ctrl + V.

Steg 7: Stoppa nu inspelningarna.

Gå till en visuell grundredigerare för att se inspelningarna. Nedan finns ut inspelning.

Det första vi har gjort här är "vi har valt cellen A1", så koden för denna aktivitet är Range ("A1").

Nästa aktivitet är att vi har kopierat cellen A1. Du kan märka här är att koden inte är Range (“A1”). Kopiera snarare det står Selection. Kopiera, det beror på att det ögonblick du väljer cellen blir antingen aktiv cell eller markering. Så det kallades Selection. Kopiera .

Den tredje aktiviteten var att vi har valt cellen A1 att klistra in, så koden är Range (“A3”). Välj

Den sista aktiviteten är att vi har klistrat in värdet i cellen. Här står Active Sheet eftersom det ögonblick du väljer cellen blir det en aktiv cell i det aktiva arket. Så koden är "ActiveSheet.Paste"

Så här fungerar Paste-metoden i VBA.

Formel

Nedan är formeln för VBA-klistra metoden:

Expression.Paste (Destination, länk)

Ett uttryck är inget annat än vad är kalkylbladets namn du vill klistra in. För att förstå kalkylobjektet, läs bättre vår artikel om ”VBA-kalkylblad”.

Du kan hänvisa det andra kalkylbladet med namn om du vill klistra in i samma kalkylblad som du har kopierat kan du hänvisa det aktuella arket med "Aktivt ark".

Destination: Efter att ha nämnt kalkylbladets namn måste vi hänvisa målcellens adress. Till exempel, om du vill klistra in i kalkylbladet "Sale Data" och i cellen A5 till A10, nedan är exempelkoden.

Kalkylblad ("Försäljningsdata"). Område ("A5: A10")

Om du ignorerar detta argument behandlas oavsett vilken aktiv cell som målcell.

Länk: Om du vill skapa en länk till det kopierade intervallet kan du ange argumentet som SANT eller annars FALSKT.

Exempel på klistra in metoden i Excel VBA

Nedan följer exemplen på Excel VBA Paste Method.

Exempel # 1 - Klistra in i samma Excel-kalkylblad

Låt oss nu se användningen av VBA-klistra metoden i samma ark. Till exempel en demonstration, jag har få värden från cell A1 till A5.

Nu vill jag kopiera detta och klistra in i C1 till C5. Följ stegen nedan för att skriva koden på egen hand.

Steg 1: Innan du publicerar något är det första vi behöver göra att kopiera dataomfånget. Så kopiera intervallet från A1 till A5.

Koda:

 Sub Paste_Example1 () Range ("A1: A5"). Kopiera End Sub 

Steg 2: Efter kopiering måste vi ange var vi klistrar in. För att göra detta först måste vi ange kalkylbladets namn, i det här fallet eftersom vi klistrar i samma ark använder du Active Sheet-objektet.

Koda:

 Sub Paste_Example1 () Range ("A1: A5"). Kopiera ActiveSheet.Paste End Sub 

Steg 3: När du har valt klistra in metoden måste vi också ange destinationen. Så destinationen blir intervall C1 till C5.

Koda:

 Sub Paste_Example1 () Range ("A1: A5"). Copy ActiveSheet.Paste Destination: = Range ("C1: C5") End Sub 

Steg 4: Nu vill jag inte skapa någon länk till den här VBA-klistra metoden, så jag ignorerar sedan nästa argument.

Kör nu den här koden med F5-tangenten eller manuellt, den kopieras från A1 till A5 och klistras in i C1 till C5.

Om du tittar på värdena från C1 till C5 är dessa värden som i en cell från A1 till A5. Så denna VBA-klistra metod kopierar allt och klistrar in allt.

Nu ska jag använda LINK-argumentet för att se hur det fungerar. För LINK-argument har jag angett SANT.

Koda:

 Sub Paste_Example1 () Range ("A1: A5"). Kopiera ActiveSheet.Paste Link: = True End Sub 

Detta skapar en länk till cellen från A1 till A5.

Så det har skapat en länk. En anmärkningsvärd saknas är formateringen av cellerna här. Det har inte klistrats in några formateringsstilar.

Exempel # 2 - Klistra in i olika Excel-kalkylblad

Kopiering från ett kalkylblad till ett annat ark kräver kalkylarknamn. Antag att du vill kopiera data från arket "Första arket" och att du vill klistra in i arket "Andra arket" nedan är sättet att hänvisa arken.

Koda:

 Underklistra_Exempel2 () Kalkylblad ("Första blad"). Område ("A1: A5"). Kopiera kalkylblad ("Andra blad"). Klistra in destination: = Område ("C1: C5") Avsluta sub 

Detta kommer att kopiera data från A1 till A5 från arknamnet som heter "Förnamn" och sedan klistras det in i arket "Andra blad" i intervallet C1 till C5.

Du kan ladda ner VBA-klistra mall här: - VBA Klistra in Excel-mall