Стойности за поставяне на Excel VBA
Copy & Paste не е най-великата работа в света !!! Но копирането и поставянето със специални опции изисква някакви познания във VBA. Това не е директен процес, тъй като простото копиране и поставяне. Един от важните специални методи за поставяне е „Поставяне на стойности“ във VBA.
Как да поставяте стойности в Excel с помощта на VBA?
Пример # 1 - Използване на Paste Special
Например погледнете изображението на работния лист по-долу.

В клетка B6 сме приложили формулата за изчисляване на общите стойности на продажбите от B2 до B5 клетки. Сега, ако копирам и поставя клетката B6 в C6, няма да получа стойността 22 761, но ще получа съответната формула.
За да извършим същото нещо във VBA, се нуждаем от знания за кодиране. Ще ви покажем как да поставяте стойности с помощта на VBA. Следвайте стъпките по-долу.
Стъпка 1: Копирайте клетката B6.
За да копирате клетката B6, използвайте кода като Range (“B6”)

Стъпка 2: Изберете целевата клетка. В този случай клетка С6.
Както можете да видите след копието, то пита „Дестинация“. Това не е нищо друго, освен къде искате да поставите, така че изберете „Дестинация“ като диапазон („C6“)
Код:
Sub Paste_Values () Диапазон ("B6"). Копиране на диапазон ("C6") Край Sub
Стъпка 3: Стартирайте кода
Изпълнете този код, ще получим копието B6 в C6.

Тук имаме само формулата.
Стъпка 4: Изпълнете специален метод за поставяне.
За да изпълним специалния метод за поставяне, нека разгледаме синтаксиса по-долу на специалния метод за поставяне.

В специалния метод за поставяне имаме няколко метода. Въз основа на операцията, която правим, трябва да изберем съответно типа.
За да разберем, нека разбием кода на два реда.
Първият е копиране на клетка B6.

Сега в следващия ред напишете целевата клетка като Range („C6“)

Сега за достъп до Paste Special Method поставете точка и започнете да пишете буквата „P.“

В горното разнообразие от опции изберете метода „Специално поставяне“.

След като изберете метода, натиснете клавиша за интервал, за да видите различните специални методи за поставяне.

В това разнообразие от опции изберете „xlPasteValues.“

След като изберете опцията, натиснете клавиша Tab, за да изберете автоматично.
Код:
Sub Paste_Values () Диапазон ("B6"). Копиране на диапазон ("C6"). PasteSpecial xlPasteValues End Sub

Стъпка 5: Стартирайте кода
Now run the code, we should get only the value of the cell B6 to the cell C6.

If you notice the worksheet after running the code, it is still in the copy mode only.


This will disable the cut copy mode after the paste special method is executed.
Example #2 - Paste Special with Loops
Paste special is easy but in terms of using this as part of a large code requires an advanced level of coding skills.
For example, look at the below image.

In the above image of the worksheet in column “F,” we have a total column, i.e., in F2, F5, F8, F11, and F14 cells.
Now my requirement is to copy each total cell from the respective cell and paste in the column “H” with respective cells.
Using the below code, with VBA loops, we can do this.
Code:
Sub Paste_Values1 () Dim k As Integer Dim j As Integer j = 2 For k = 1 To 5 Cells (j, 6) .Copy Cells (j, 8) .PasteSpecial xlPasteValues j = j + 3 Next k End Sub
Този код със специална опция за поставяне ще изпълни задачата да копира всяка обща клетка и да постави в колоната „H“ със съответните клетки.

Пример # 3 - Копиране от работен лист в друг
За да поставим стойности от един работен лист в друг, трябва да споменем и двете имена на работния лист. По-долу е даден пример за това.
Sub Paste_Values2 () Работни листове ("Sheet1"). Обхват ("A1"). Копирайте работни листове ("Sheet2"). Обхват ("A15"). PasteSpecial xlPasteValues End Sub