Excel VBA-indsæt værdier

På daglig basis bruger vi normalt copy / paste-funktion i excel ofte. Bortset fra kopiér / indsæt, kan vi også formatere data med forskellige nedenstående muligheder tilgængelige i paste special.

VBA PASTE VALUES-funktion Indsættes kun værdierne for det kopierede dataområde som vist i cellerne.

Bemærk: Den kopierer ikke den underliggende formel, der findes i cellen, som du finder i formelbjælken. dvs. at det kun kopierer resultatværdien af ​​en formel.

I VB-makrovindue hjælper CTRL + SPACE-klik dig til VBA Intellisense-drop-down, som hjælper med at skrive koden. Efter at have skrevet PASTE SPECIAL og klik på mellemrumslinjen nedenfor nævnes forskellige indstillinger for pastetype, som også indeholder xLPasteValues.

Syntaks for indsæt værdier i Excel VBA

Syntaks for VBA Paste Value-funktion i excel er som følger:

Før du indsætter specielle værdier eller Når du bruger indsæt specielle indstillinger, skal VBA Range-objektet nævnes før, fordi du kopierer dataene fra specifikt celleområde til et andet celleområde.

Her, med henvisning til excel-regnearket, er VBA-rækkeviddeobjekter celler, der kan være enten enkelt eller flere.

XlPaste Type:

Forskellige typer pasta-type, der vises under dropdown af PASTE SPECIAL er:

XlPaste-operationstype:

Ligesom indstillinger for indsæt type, er der også indstillinger for indsæt operationer, hvor du kan udføre nedenfor nævne matematiske operationer.

  • (Spring emner over ): Hvis du vil springe emner over, kan du vælge en af ​​indstillingerne, dvs. SAND eller FALSE.
  • (Transpose): Hvis du vil transponere dataene, kan du vælge en af ​​indstillingerne, dvs. SAND eller FALSE

Antag, jeg har kildedataene i en række G7 TO J10, som indeholder studerendes score og deres resultater med henvisning til registrerings-ID, hvor de indeholder formler, tekstdata og numeriske data.

Jeg er nødt til at kopiere disse data til et andet celleområde i det samme ark uden formel, dvs. kun som en værdi, for dette skal jeg følge nedenstående trin.

Sådan bruges funktionen Indsæt værdier i Excel VBA?

Nedenfor er de forskellige eksempler, der skal bruges Paste Values-funktion i Excel ved hjælp af VBA-kode.

Du kan downloade denne VBA Indsæt værdier Excel-skabelon her - VBA Indsæt værdier Excel-skabelon

VBA-indsæt værdifunktion - eksempel # 1

Trin 1: Åbn et VB Editor-vindue ved hjælp af genvejstasten Alt + F11, vælg eller klik på Visual Basic i kodegruppen under fanen Udvikler.

Trin 2: For at oprette et tomt modul skal du højreklikke på Microsoft excel-objekter, ved at klikke på Indsæt og under menusektionen vælge Modul, hvor det tomme modul bliver oprettet, under kategorien (NAME) af egenskaber, kan du omdøbe som "VB_PASTE_VALUES"

Kode:

 Sub PASTE_VALUES () End Sub 

Trin 3: Jeg skal først kopiere dataområdet ved hjælp af Range. Kopimetode (til kopiering af det specifikke dataområde) dvs. fra G7 til J10 fra arknavnet “VB_PASTE_VALUES” til kopiering af området, er jeg nødt til at anvende eller tilføje nedenstående kode efter sub.

Kode:

 Sub PASTE_VALUES () Område ("g7: j10"). Copy End Sub 

Trin 4: Når jeg har kopieret dataene, skal jeg indsætte værdierne fra G14 til J17. Her er den første henvisning til området G14, her kan jeg enten indtaste “G14” ELLER jeg kan indtaste “G14 til J17”. Efter at have valgt området skal jeg indsætte. Så for dette skal du sætte en prik (.) Efter rækkevidde og type PasteSpecial, når du først klikker på mellemrumstasten, nedenunder nævnes forskellige xlpastetype-indstillinger, der vælger xlPasteValues

Kode:

 Sub PASTE_VALUES () Range ("g7: j10"). Copy Range ("g14"). Indsæt Special xlPasteValues ​​End Sub 

Trin 5: Når du har kørt denne kode, kopierede den dataene fra G7 til J10 og indsættes fra G14 til J17 som værdier.

I det ovennævnte eksempel er der nu en forskel i tabelformatet mellem kopierede og indsatte data. (Formatering ændres).

Trin 6: Hvis du vil have det samme tabelformat, skal du opdatere koden med nedenstående ændringer, hvor du skal bruge en ekstra linje med kode xlPasteformat inden xlPastevalues

Kode:

 Sub PASTE_VALUES () Range ("g7: j10"). Copy Range ("g14: j17"). Indsæt Special xlPasteFormats Range ("g14: j17"). Indsæt Special xlPasteValues ​​End Sub 

Trin 7: Når du kører ovenstående kode, vil den oprindeligt kopiere og indsætte tabelformatet og senere indsætter den værdier.

Bemærk: Når du kører ovennævnte koder, under proceduren for kopiering og indsæt, når dataene er kopieret, vises valgtilstand, kan du se dem på tværs af grænser med grønne stiplede linjer.

Du kan fjerne det ved at opdatere makroen med den sidste linjekode før slutunderkommandoen, dvs.

Application.cutcopymode = falsk ovenstående kode vil deaktivere marcherende myrer omkring et kopieret interval

VBA-indsæt værdifunktion - eksempel # 2

I det første eksempel lavede vi en kopi og indsæt data i det samme regnearkark,

Antag nu, at du vil kopiere data fra et regneark til et andet regneark, lad os tjekke, hvordan vi kan udføre denne opgave

Trin 1: I VBA-editoren har jeg et navn som PASTE_VALUES3 () efter at have skrevet Sub

Kode:

 Sub PASTE_VALUES_3 () End Sub 

Trin 2: Inden vi vælger området, skal vi informere fra hvilket ark dataene skal vælges, så arbejdsarket skal vælges. Herefter skal vi vælge området ved hjælp af rækkevidde. Kopi- metode, der ligner eksempel 1

Kode:

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

I ovennævnte kode er regnearkets navn “VB_PASTE_VALUES”, og dataområdet er ”g7: j10 ″

Trin 3: I det næste trin indsætter vi data til et andet regneark, derfor er vi nødt til at vælge det ark efter dets navn og interval, hvor vi har brug for at indsætte dataene, efter området skal vi indtaste en specialspecialfunktion og indsætte indstillingsmetode dvs. Indsæt Special xlPasteValue

Kode:

 Sub PASTE_VALUES_3 () Worksheets ("VB_PASTE_VALUES"). Range ("g7: j10"). Copy Worksheets ("Sheet2"). Range ("A1"). Indsæt Special xlPasteValues ​​End Sub 

Trin 4: I slutningen af ​​koden, inden slutningen af ​​sub, skal vi indtaste ovennævnte kode, hvor den vil deaktivere marcherende myrer omkring det kopierede interval.

Kode:

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

Trin 5: Nu er koden klar, når du først har kørt ovennævnte kode, vender den tilbage til det nævnte output i ark2, dvs. de kopierede data indsættes i ark2 fra A1-celle (som indsætningsværdier)

Tænker at huske

  • Der kan kun udføres en speciel indsætning ad gangen ad gangen, det kan være pastetype eller indsætning af pasta. Indsæt speciel (Indsæt, betjening, SkipBlanks, Transpose), I indsæt specialfunktionen er alle de fire argumenter valgfri, hvor de første to argumenter er vigtige, hvorigennem vi kan kontrollere datasætværdier (formatering, farve og datavalidering)
  • Indstillinger for indsættelsestype i indsæt special er vigtig og nyttig ved formatering af data, når du henter data fra de forskellige databaser
  • I VBA, kun for at indsætte værdier, er der forskellige andre indstillinger tilgængelige bortset fra rækkevidde.

Anbefalede artikler

Dette er en guide til VBA-indsættelsesværdier. Her diskuterer vi, hvordan man bruger Excel VBA Paste Values-funktion sammen med praktiske eksempler og downloadbar excel-skabelon. Du kan også gennemgå vores andre foreslåede artikler -

  1. Copy Paste-funktion i VBA
  2. Undertræk Excel-funktion
  3. VBA-abonnement uden for rækkevidden
  4. Excel ISNUMBER-formel

Kategori: