Excel VBA-klistervärden

På en daglig basis använder vi vanligtvis copy / paste-funktionen i Excel ofta. Förutom att kopiera / klistra in, kan vi också formatera data med olika nedan nämnda alternativ tillgängliga i pasta special.

VBA PASTE VALUES-funktion Klistrar endast in värdena på det kopierade dataområdet som visas i cellerna.

Obs! Den kommer inte att kopiera den underliggande formeln som finns i cellen, som du hittar i formelfältet. dvs det kopierar endast resultatvärdet för en formel.

I VB-makrofönstret hjälper CTRL + SPACE-klick dig till VBA Intellisense-rullgardinsmen, som hjälper till att skriva koden. Efter att du har skrivit PASTE SPECIAL och klickat på mellanslagsfältet nedan nämns olika alternativ för pastattyp som också innehåller xLPasteValues.

Syntax för klistra in värden i Excel VBA

Syntaxen för VBA Paste Value-funktionen i Excel är som följer:

Innan du klistrar in specialvärden eller När du använder klistra in specialalternativ måste VBA Range-objekt nämnas tidigare eftersom du kopierar data från specifikt cellområde till ett annat cellområde.

Här, med hänvisning till excel-kalkylbladet, är VBA-intervallobjektet celler som kan vara antingen enstaka eller flera.

XlPaste Type:

Olika typer av pastattyp som visas under nedrullning av PASTE SPECIAL är:

XlPaste-operation Typ:

Liknar alternativ för klistra in typ, det finns också alternativ för klistra in operationer där du kan utföra nedan nämner matematiska operationer.

  • (Hoppa över tomma ämnen): Om du vill hoppa över ämnen kan du välja något av alternativen, dvs SANT eller FALSE.
  • (Transpose): Om du vill transponera data kan du välja något av alternativen, dvs SANT eller FALSE

Antag att jag har källdata i ett intervall G7 TO J10, som innehåller elevernas poäng och deras resultat med referens till registrerings-ID, där det innehåller formler, textdata och numeriska data.

Jag behöver kopiera dessa data till ett annat cellområde i samma blad utan formel, dvs endast som ett värde, för detta måste jag följa nedanstående steg.

Hur använder man Paste Values-funktion i Excel VBA?

Nedan är de olika exemplen att använda Paste Values-funktion i Excel med VBA-kod.

Du kan ladda ner denna VBA-klistra värden Excel-mall här - VBA klistra värden Excel-mall

VBA Paste Values ​​Funktion - Exempel # 1

Steg 1: Öppna ett VB Editor-fönster med hjälp av genvägsknappen Alt + F11, välj eller klicka på Visual Basic i kodgruppen på fliken Utvecklare.

Steg 2: För att skapa en tom modul, högerklicka på Microsoft excel-objekt, genom att klicka på Infoga och under menysektionen väljer du Modul, där den tomma modulen skapas, under kategorin (NAME) med egenskaper, kan du byta namn som "VB_PASTE_VALUES"

Koda:

 Sub PASTE_VALUES () Slut Sub 

Steg 3: Jag måste först kopiera dataområdet med hjälp av Range. Kopieringsmetod (för att kopiera det specifika dataområdet), dvs från G7 till J10 från arknamn “VB_PASTE_VALUES” för att kopiera intervallet, jag måste tillämpa eller lägga till nedanstående kod efter sub.

Koda:

 Sub PASTE_VALUES () Range ("g7: j10"). Copy End Sub 

Steg 4: En gång efter att jag har kopierat data måste jag klistra in värdena från G14 till J17. Här är den första referensen för intervallet G14, här kan jag antingen ange “G14” ELLER jag kan ange “G14 till J17”. När jag har valt intervallet måste jag klistra in. Så för detta, sätta en punkt (.) Efter intervall och skriv PasteSpecial, när du klickar på mellanslagstangenten, nedan nämns olika xlpastetype-alternativ, i det välj xlPasteValues

Koda:

 Sub PASTE_VALUES () Range ("g7: j10"). Copy Range ("g14"). PasteSpecial xlPasteValues ​​End Sub 

Steg 5: När du har kört den här koden kopierade den data från G7 till J10 och klistrades in från G14 till J17 som värden.

I ovanstående exempel finns det en skillnad i tabellformatet mellan kopierade och klistrade data. (Formatering ändras).

Steg 6: Om du vill ha samma tabellformat måste du uppdatera koden med nedanstående ändringar, där du måste använda en extra rad kod xlPasteformat före xlPastevalues

Koda:

 Sub PASTE_VALUES () Range ("g7: j10"). Copy Range ("g14: j17"). PasteSpecial xlPasteFormats Range ("g14: j17"). PasteSpecial xlPasteValues ​​End Sub 

Steg 7: När du kör ovanstående kod kommer den att kopiera och klistra in tabellformatet och senare klistra in värden.

Obs! När du kör ovan nämnda koder, under proceduren för kopiering och klistra in när uppgifterna har kopierats visas valläget, kan du se dem över gränser med gröna prickade linjer.

Du kan ta bort det genom att uppdatera makro med den sista radkoden innan slutkommando, dvs.

Application.cutcopymode = falsk ovanstående kod kommer att inaktivera marschmyror runt ett kopierat intervall

VBA Paste Values ​​Funktion - Exempel # 2

I det första exemplet gjorde vi en kopia och klistra in data i samma kalkylblad,

Anta nu att du vill kopiera data från ett kalkylblad till ett annat kalkylblad, låt oss kolla hur vi kan utföra denna uppgift

Steg 1: I VBA-redigeraren har jag fått ett namn som PASTE_VALUES3 () efter att ha skrivit Sub

Koda:

 Sub PASTE_VALUES_3 () Slut Sub 

Steg 2: Innan vi väljer intervallet måste vi informera från vilket ark data måste väljas, så kalkylbladet måste väljas, efter det måste vi välja intervallet med hjälp av intervallet. Kopieringsmetod som liknar exempel 1.

Koda:

 Sub PASTE_VALUES_3 () Arbetsblad ("VB_PASTE_VALUES"). Område ("g7: j10"). Copy End Sub 

I koden ovan är kalkylnamnet “VB_PASTE_VALUES”, och dataområdet är ”g7: j10 ″

Steg 3: I nästa steg klistrar vi in ​​data i ett annat kalkylblad, därför måste vi välja det arket efter dess namn och intervall där vi behöver klistra in data, efter intervallet måste vi ange pastespecialfunktion och klistra in alternativtyp, dvs. Klistra in Special xlPasteValue

Koda:

 Sub PASTE_VALUES_3 () Worksheets ("VB_PASTE_VALUES"). Range ("g7: j10"). Copy Worksheets ("Sheet2"). Range ("A1"). PasteSpecial xlPasteValues ​​End Sub 

Steg 4: I slutet av koden, före slutet av sub, måste vi ange ovan nämnda kod, där den kommer att inaktivera marschmyror runt det kopierade intervallet.

Koda:

 Sub PASTE_VALUES_3 () Worksheets ("VB_PASTE_VALUES"). Range ("g7: j10"). Copy Worksheets ("Sheet2"). Range ("A1"). PasteSpecial xlPasteValues ​​Application.CutCopyMode = False End Sub 

Steg 5: Nu är koden klar, när du har kört ovan nämnda kod kommer den att återgå till den ovan nämnda utgången i ark2, dvs den kopierade informationen kommer att klistra in i arket2 från A1-cellen (som klistervärden)

Menar att komma ihåg

  • Endast en specialpasta för en klistra i taget kan utföras, det kan vara klistertyp eller klistra in. Klistra in special (Klistra in, Använd, SkipBlanks, Transpose), I pastaspecialfunktionen är alla de fyra argumenten valfria, där de första två argumenten är viktiga genom vilka vi kan styra datasättvärden (formatering, färgning och datavalidering)
  • Alternativ för klistra in typ i klistra special är viktigt och användbart när du formaterar data när du drar ut data från de olika databaserna
  • I VBA finns det bara andra alternativ för att klistra in värden, bortsett från räckvidd.

Rekommenderade artiklar

Detta är en guide till VBA Paste Values. Här diskuterar vi hur du använder Excel VBA Paste Values-funktionen tillsammans med praktiska exempel och nedladdningsbar Excel-mall. Du kan också gå igenom våra andra föreslagna artiklar -

  1. Kopiera klistra in funktion i VBA
  2. Substring Excel-funktion
  3. VBA-prenumeration utanför räckvidden
  4. Excel ISNUMBER-formel

Kategori: