VBA Value Paste & PasteSpecial

Šī apmācība parādīs, kā izmantot PasteSpecial VBA, lai ielīmētu tikai noteiktus šūnu rekvizītus (piem., Vērtības, formātus)

Programmā Excel, kopējot un ielīmējot šūnu, jūs kopējat un ielīmējat visas šūnas īpašības: vērtības, formātus, formulas, skaitļu formatējumu, apmales utt.

Tā vietā varat “Ielīmēt speciāli”, lai ielīmētu tikai noteiktas šūnu īpašības. Programmā Excel izvēlnei Īpašā ielīmēšana var piekļūt, izmantojot īsinājumtaustiņu CTRL + ALT + V (pēc šūnas kopēšanas):

Šeit jūs varat redzēt visas šūnu rekvizītu kombinācijas, kuras varat ielīmēt.

Ja ierakstāt makro, izmantojot īpašo ielīmēšanas izvēlni, varat vienkārši izmantot ģenerēto kodu. Tas bieži ir vienkāršākais veids, kā izmantot VBA, lai ielīmētu īpašo.

Ielīmēt vērtības

Ielīmēt vērtības ielīmē tikai šūnu “vērtība”. Ja šūnā bija formula, Ielīmēt vērtības ielīmēs formulas rezultātu.

Šis kods kopēs un ielīmēs vienas šūnas vērtības vienā darblapā:

12 Diapazons ("A1"). KopētDiapazons ("B1"). PasteSpecial Paste: = xlPasteValues

Kopēt un vērtību ielīmēt citā lapā

Šajā piemērā tiks kopētas un ielīmētas atsevišķu šūnu vērtības dažādās darblapās

12 Izklājlapas ("1. lapa"). Diapazons ("A1"). KopētIzklājlapas ("Lapa2"). Diapazons ("B1"). IelīmētSpecial Paste: = xlPasteValues

Šie piemēri kopēs un ielīmēs vērtības virknei šūnu:

Kopēšanas un vērtību ielīmēšanas diapazoni

12 Diapazons ("A1: B3"). KopētDiapazons ("C1"). PasteSpecial Paste: = xlPasteValues

Kolonnu kopēšana un vērtību ielīmēšana

12 Kolonnas ("A"). KopētKolonnas ("B"). PasteSpecial Paste: = xlPasteValues

Kopēt un vērtību ielīmēt rindas

12 Rindas (1). KopētRindas (2). PasteSpecial Paste: = xlPasteValues

Ielīmējiet vērtības un skaitļu formātus

Ielīmējot vērtības, tiks ielīmēta tikai šūnas vērtība. Nav ielīmēta formatēšana, ieskaitot skaitļu formatēšanu.

Bieži, ielīmējot vērtības, iespējams, vēlēsities iekļaut arī skaitļu formatējumu, lai vērtības paliktu formatētas. Apskatīsim piemēru.

Šeit mēs novērtēsim šūnu ielīmēšanu, kurā ir procenti:

12 Izklājlapas ("1. lapa"). Kolonnas ("D"). KopētIzklājlapas ("Sheet2"). Kolonnas ("B"). PasteSpecial Paste: = xlPasteValues

Ievērojiet, kā tiek zaudēts procentuālais skaitļu formatējums un tā vietā tiek parādīta pavirša decimālā vērtība.

Tā vietā izmantosim vērtību ielīmēšanas un skaitļu formātus:

12 Izklājlapas ("1. lapa"). Kolonnas ("D"). KopētIzklājlapas ("Lapa2"). Kolonnas ("B"). IelīmētSpeciālā ielīmēšana: = xlPasteValuesAndNumberFormats

Tagad jūs varat redzēt, ka skaitļu formatēšana ir arī ielīmēta, saglabājot procentu formātu.

.Vērtība .Paste vietā

Vērtību ielīmēšanas vietā varat izmantot objekta Range rekvizītu:

Tādējādi A2 šūnu vērtība būs vienāda ar B2 šūnu vērtību

1 Diapazons ("A2"). Vērtība = Diapazons ("B2"). Vērtība

Varat arī iestatīt šūnu diapazonu, kas vienāds ar vienas šūnas vērtību:

1 Diapazons ("A2: C5"). Vērtība = Diapazons ("A1"). Vērtība

vai šūnu diapazons, kas vienāds ar citu identiski izmēru šūnu diapazonu:

1 Diapazons ("B2: D4"). Vērtība = Diapazons ("A1: C3"). Vērtība

Īpašības Value izmantošana ir mazāk rakstāma. Turklāt, ja vēlaties apgūt Excel VBA, jums jāzina, kā strādāt ar šūnu vērtību.

Šūnas vērtība pret vērtību2

Tehniski labāk ir izmantot šūnas īpašību Value2. Value2 ir nedaudz ātrāks (tas ir svarīgi tikai ar ārkārtīgi lieliem aprēķiniem), un rekvizīts Value var dot jums saīsinātu šūnas rezultātu, kas formatēts kā valūta vai datums. Tomēr vairāk nekā 99%no manis redzētā koda izmanto .Value, nevis .Value2. Es personīgi neizmantoju .Vērtu2, taču jums jāapzinās, ka tā pastāv.

1 Diapazons ("A2"). Vērtība2 = Diapazons ("B2"). Vērtība2

Kopēšanas ielīmēšanas veidotājs

Mēs esam izveidojuši “Kopēšanas ielīmēšanas koda veidotāju”, kas ļauj viegli izveidot VBA kodu šūnu kopēšanai (vai izgriešanai) un ielīmēšanai. Celtnieks ir daļa no mūsu VBA pievienojumprogramma: AutoMacro.

AutoMacro satur arī daudzus citus Kodu ģeneratori, plašs Kodu bibliotēka, un spēcīgs Kodēšanas rīki.

Īpašā ielīmēšana - formāti un formulas

Papildus ielīmēšanas vērtībām visizplatītākās īpašās ielīmēšanas opcijas ir ielīmēšanas formāti un ielīmēšanas formulas

Ielīmēt formātus

Ielīmēšanas formāti ļauj ielīmēt visu šūnu formatējumu.

12 Diapazons ("A1: A10"). KopētDiapazons ("B1: B10"). PasteSpecial Paste: = xlPasteFormats

Ielīmēt formulas

Ielīmējot formulas, tiks ielīmētas tikai šūnu formulas. Tas ir arī ļoti noderīgi, ja vēlaties kopēt šūnu formulas, bet nevēlaties kopēt šūnu fona krāsas (vai citu šūnu formatējumu).

12 Diapazons ("A1: A10"). KopētDiapazons ("B1: B10"). PasteSpecial Paste: = xlPasteFormulas

Ielīmējiet formulas un skaitļu formātus

Līdzīgi kā iepriekš ielīmēt vērtības un skaitļu formātus, varat arī kopēt un ielīmēt skaitļu formātus kopā ar formulām

Šeit mēs nokopēsim šūnu formulu tikai ar grāmatvedības numuru formatēšanu un ielīmēšanas formulām.

12 Izklājlapas ("1. lapa"). Diapazons ("D3"). KopētIzklājlapas ("Sheet2"). Diapazons ("D3"). PasteSpecial xlPasteFormulas

Ievērojiet, kā tiek zaudēts skaitļu formatējums un tā vietā tiek parādīta pavirša, neapaļota vērtība.

Tā vietā izmantosim formātus Ielīmēt formulas un skaitļus:

12 Izklājlapas ("1. lapa"). Diapazons ("D3"). KopētIzklājlapas ("2. lapa"). Diapazons ("D3"). IelīmētSpecial xlPasteFormulasAndNumberFormats

Tagad jūs varat redzēt, ka arī numura formatēšana ir ielīmēta, saglabājot grāmatvedības formātu.

Ielīmēt speciāli - transponēt un izlaist tukšas vietas

Īpaša ielīmēšana - transponēšana

Ielīmēt īpašo transponēšanu ļauj kopēt un ielīmēt šūnas, mainot orientāciju no augšas uz leju uz kreiso labo (vai pretēji):

12 Izklājlapas ("1. lapa"). Diapazons ("A1: A5"). KopētIzklājlapas ("Sheet1"). Diapazons ("B1"). PasteSpecial Transpose: = True

Īpašā ielīmēšana - izlaist tukšās vietas

Izlaist sagataves ir īpaša ielīmēšanas iespēja, kas, šķiet, netiek izmantota tik bieži, kā vajadzētu. Tas ļauj kopēt un ielīmēt tikai šūnas, kas nav tukšas. Tātad tukšas šūnas netiek kopētas.

Šajā piemērā zemāk. Mēs nokopēsim kolonnu A, veiksim parasto ielīmēšanu B slejā un izlaidīsim tukšās ielīmēšanu kolonnā C. Tālāk redzamajā attēlā redzat, ka tukšās šūnas netika ielīmētas C slejā.

123 Izklājlapas ("1. lapa"). Diapazons ("A1: A5"). KopētIzklājlapas ("Sheet1"). Diapazons ("B1"). PasteSpecial SkipBlanks: = FalseIzklājlapas ("Sheet1"). Diapazons ("C1"). PasteSpecial SkipBlanks: = True

Citas īpašas ielīmēšanas opcijas

Īpaša ielīmēšana - komentāri

1 Izklājlapas ("Sheet1"). Diapazons ("A1"). Kopēt lapas ("Sheet1"). Diapazons ("E1"). PasteSpecial xlPasteComments

Īpaša ielīmēšana - validācija

12 Izklājlapas ("1. lapa"). Diapazons ("A1: A4"). KopētIzklājlapas ("Sheet1"). Diapazons ("B1: B4"). PasteSpecial xlPasteValidation

Īpaša ielīmēšana - viss, izmantojot avota motīvu

123 Darbgrāmatas (1). Lapas ("Sheet1"). Diapazons ("A1: A2"). KopijaDarbgrāmatas (2). Lapas ("Sheet1"). Diapazons ("A1"). PasteSpecialDarbgrāmatas (2). Lapas ("Sheet1"). Diapazons ("B1"). PasteSpecial xlPasteAllUsingSourceTheme

Īpaša ielīmēšana - visas, izņemot robežas

123 Diapazons ("B2: C3"). KopētDiapazons ("E2"). PasteSpecialDiapazons ("H2"). PasteSpecial xlPasteAllExceptBorders

PasteSpecial - kolonnu platumi

Mans personīgais favorīts. PasteSpecial kolonnu platumi kopēs un ielīmēs kolonnu platumu.

123 Diapazons ("A1: A2"). KopētDiapazons ("C1"). PasteSpecialDiapazons ("E1"). PasteSpecial xlPasteColumnWidths

PasteSpecial - visi MergingConditionalFormats

123 Diapazons ("A1: A4"). KopētDiapazons ("C1"). PasteSpecialDiapazons ("E1"). IelīmētSpecial xlPasteAllMergingConditionalFormats

wave wave wave wave wave