Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17


Excel: Add Paste As Number to Code

Posted on 2015-02-03
Medium Priority
Last Modified: 2015-02-03

I have the following Code:

Sub mac_transfertoPOsummary()
' mac_transfertoPOsummary Macro

' This macro copies the information on the PO template and pastes this information to the next available row on the PO Request summary.

Sheets("PO Template").Select
        Sheets("PO Template").Range("S12").Copy Destination:=Sheets("PO Request Summary").Range("E7").End(xlDown).Offset(1, 0)
End Sub

Open in new window

I would like to modify this to paste the value as a number. But I don't know how to add this code correctly:
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

Open in new window

Can you help.
Question by:dabug80
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
LVL 23

Expert Comment

by:Michael Fowler
ID: 40587788
No need to use copy/paste for this just use
Sheets("PO Request Summary").Range("E7") = Sheets("PO Template").Range("S12").Value

Open in new window

If needed you can also format the cell as a number using
Sheets("PO Request Summary").Range("E7").NumberFormat = "0"

Open in new window


Author Comment

ID: 40587792
Sorry, how does this integrate with my offset code?
LVL 23

Expert Comment

by:Michael Fowler
ID: 40587795
After a second look at your question I believe what you are after is

to copy the value in cell
Sheets("PO Template").Range("S12")

Open in new window

Sheets("PO Request Summary").Range("E7").End(xlDown).Offset(1, 0)

Open in new window

and ensure that it is displayed as a number

This line will achieve that goal. There is no need to use copy/paste in this case
Sheets("PO Request Summary").Range("E7").End(xlDown).Offset(1, 0) = Sheets("PO Template").Range("S12").Value

Open in new window

Additionally if the cell is not correctly formated as a number after this operation you fix this using
 Sheets("PO Request Summary").Range("E7").End(xlDown).NumberFormat = "0"

Open in new window

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!


Author Comment

ID: 40587804
Thanks. The code copies everything across correctly - but when the macro is run twice, the data is copied to the same location.

It seems like the formula isn't correctly offsetting to the next blank cell with subsequent macro triggers.
LVL 23

Accepted Solution

Michael Fowler earned 2000 total points
ID: 40587813
Is working correctly for me??

Try changing it to

Sheets("PO Request Summary").Range("E" & Rows.Count).End(xlUp).Offset(1, 0) = Sheets("PO Template").Range("S12").Value

Open in new window

This finds the first used cell from the bottom up and so allows for some cells in the column to be empty.

If does not work could you please post your workbook

Author Closing Comment

ID: 40587823
Great. Works perfectly now. Thanks so much for taking the time to troubleshoot with me.

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction This Article briefly covers methods of calculating the NPV and IRR variants in Excel as well as the limitations in calculating and interpreting IRR results. Paraphrasing Richard Shockley, author of my favourite finance reference tex…
How to get Spreadsheet Compare 2016 working with the 64 bit version of Office 2016
This Micro Tutorial will demonstrate on a Mac how to change the sort order for chart legend values and decrpyt the intimidating chart menu.
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…

721 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question