3 Ways of Copy/Paste Value, Formatting, Formulas in VBA / Excel

The Range object in VBA has copy method that can be used to copy/paste the contents from one cell or range of cells to other cells.

How to copy/paste the value of cells in VBA/Excel

The Range object in VBA has copy method that can be used to copy/paste the contents from one cell or range of cells to other cells.

You may copy/paste contents to another sheet of the same Workbook or another Workbook sheet as well.


expression.Copy (Destination)

There, the expression represents a range object.

An example of copying one cell to another in the same sheet

In the first example, we will copy the content of B3 cell to the F3 cell by using Copy method.




Copying range of cells example

Now we will copy B3 to B8 cells content to the F3 to F8 cells by using copy method:



You can see, not only the value copied but also the formatting as well to the destination cells.

Using the assignment operator to copy

If you just need to copy the value and not formatting then you may use the following two approaches as well to copy/paste:

Range(“F3”) = Range(“B3”)

The following code shows with output:



Or more explicitly use .Value produces the same result:

It produces the same result as above.

In both cases, you see it does not copy the formatting but just the value of the cell.

Copy Multiple Cells example by value



Using copy with ActiveSheet paste method example

Another way of copying the value as well as formatting is using the copy with paste method.

The Paste is ActiveSheet method that you can use to copy the contents to the selected cell/range.

The example below copies the contents of B4:B8 to the F4:F8 range as follows:



Formatting is also copied to the destination range.

Copying contents to another sheet in the same Workbook

We will copy the B1:E10 range of the “Product Information” worksheet to “Sheet2”’ A1:D10 cells.



VBA program to copy from one Workbook to another

The following VBA program copies a range of cells from one Workbook to another.

In that case:

  • xlsx is the one you want to copy data from
  • xlsx is the destination workbook

Second Approach – Use Copy/Paste methods

The following program uses copy/paste methods:

In both cases, workbooks should be open.

Does Copy/Paste also copy formulas?

We have seen that copy or copy/paste method combination not only copy values but formatting as well.

Unlike simple Value property that only copies the value from cell or range of cells.

Question is, does it also copy formulas?

In the following example, we have a sheet (Sheet1) that contains the Excel VLOOKUP formula.


We will copy the complete range of cells with data and cell that contains VLOOKUP in Sheet2. So, let us see the result:



So, yes it also copies formulas to the destination.


On that basis, we can conclude that if you require to copy only values from the source range to the destination then use the Value property of the Range.

If you require to copy/paste contents including values, formatting, and formulas then use the Copy/Paste methods.