How to restrict to paste values only (prevent formatting) in Excel?
Normally, we paste copied data with just pressing the Ctrl + V keys simultaneously. And that will paste the copied values along with all the cell formatting. If you just need to paste the values only and restrict the cell formatting, the following methods can help you.
- Reuse Anything: Add the most used or complex formulas, charts and anything else to your favorites, and quickly reuse them in the future.
- More than 20 text features: Extract Number from Text String; Extract or Remove Part of Texts; Convert Numbers and Currencies to English Words.
- Merge Tools: Multiple Workbooks and Sheets into One; Merge Multiple Cells/Rows/Columns Without Losing Data; Merge Duplicate Rows and Sum.
- Split Tools: Split Data into Multiple Sheets Based on Value; One Workbook to Multiple Excel, PDF or CSV Files; One Column to Multiple Columns.
- Paste Skipping Hidden/Filtered Rows; Count And Sum by Background Color; Send Personalized Emails to Multiple Recipients in Bulk.
- Super Filter: Create advanced filter schemes and apply to any sheets; Sort by week, day, frequency and more; Filter by bold, formulas, comment...
- More than 300 powerful features; Works with Office 2007-2019 and 365; Supports all languages; Easy deploying in your enterprise or organization.
An easy way to restrict to paste values only is pasting the copied data as values only in Excel.
1. After copying data, right click the destination cell you will paste the data into.
2. Then click the Values button under the Paste Options section in the right-clicking menu. See screenshot:
You can see only values of copied cells are pasted into the destination cells.
The following VBA code helps you paste only values of copied cells, and restrict all cell formatting. Please do as follows.
1. Press Alt + F11 keys simultaneously to open the Microsoft Visual Basic for Applications window.
2. In the Microsoft Visual Basic for Applications window, double click the ThisWorkbook in the Project right pane to open the ThisWorkbook code window. Then copy and paste the below VBA code into the window.
VBA code: Restrict to paste values only in Excel
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) On Error Resume Next Target.PasteSpecial xlPasteValues Application.CutCopyMode = True End Sub
3. Press the Alt + Q keys simultaneously to close the Microsoft Visual Basic for Applications window.
Now, copy your data, and go to the destination worksheet. Only one click or right click on the destination cell will paste the values of copied cells without any formatting immediately.
Kutools for Excel’s Copy Ranges utility helps you to easily paste only values of a selected range or multiple selected ranges in Excel. Please do as follows.
|Kutools for Excel : with more than 300 handy Excel add-ins, free to try with no limitation in 60 days.|
1. Select the range or select multiple ranges with holding the Ctrl key which you need to paste only values. Then click Kutools > Copy Ranges. See screenshot:
2. In the Copy Multiple Ranges dialog box, only select the Values option in the Paste special section, and then click the OK button.
Note: You can check both or one of the Including row height and the Including column width options as you need.
3. In the next Copy Multiple Ranges dialog box, select a blank cell for pasting the copied cells, and then click the OK button.
Then only values of all selected cells in a range or multiple ranges are pasted.
|You can download and try the free trial of Kutools for Excel now!|
- How to restrict access to a certain worksheet in Excel?
- How to restrict value entry/input in a cell based on another cell value in Excel?
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
To post as a guest, your comment is unpublished.· 4 months agoHi! for Kutools 'Copy Ranges', I realized there is limit on number of columns that can be copy at a time. I am working with 7,500 columns. I select 7,500 columns as the range, but it can only copy and paste partial of what I had selected, not all. I am planning to copy all these columns in one go and paste. Is there any way I can do that ? just to speed things up. Any help would highly be appreciated. Thanks!
To post as a guest, your comment is unpublished.· 5 months agoHi, is there code for working with ctrl+v. This code paste automatically when selecting cell. I found module code below link but couldn't find code for workbook like this.
To post as a guest, your comment is unpublished.· 1 years agoThis code was great, but it was pasting items in the system clipboard that were copied from other programs. I put it in an 'If' statement which does nothing, unless Excel cells are actually in Cut or Copy mode. i.e. moving border around the cell(s).
Application.CutCopyMode has three modes: False = Not in Cut or Copy mode. | xlCopy = In Copy mode. | xlCut = In Cut mode.
'If in Cut or Copy mode, Paste Values Only
'If Not in Cut or Copy mode, skip and do nothing.
On Error Resume Next
If Not Application.CutCopyMode = False Then
Application.CutCopyMode = True
This was a bit of a bugger for me to figure out. Hope it helps someone else.
-Travis (IT Professional since 1996)
To post as a guest, your comment is unpublished.· 10 months agoHi Travis, Thank you very much for posting this.
I never respond to posts but i appreciate you posting this answer.
To post as a guest, your comment is unpublished.· 5 months agoHi Travis, is there code for working with ctrl+v. This code paste automatically when selecting cell. I found module code below link but couldn't find code for workbook like this. I hope what I have requested is possible.
To post as a guest, your comment is unpublished.· 1 years agoThank you so much!! It works well and its so useful for the project that I am working on.
To post as a guest, your comment is unpublished.· 1 years agoThis works for me:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
Application.CutCopyMode = True
To post as a guest, your comment is unpublished.· 1 years agoWould this work on Worksheet level only? I am trying to restrict this only on one worksheet (not entire workbook), but it seems there is a problem.