ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   Macro: Paste Values (https://www.excelbanter.com/excel-discussion-misc-queries/194759-macro-paste-values.html)

Jennifer

Macro: Paste Values
 
I'm using this macro to make one column values only:
Sub ValuesOnly( )

Dim rRange As Range

On Error Resume Next

Set rRange = Application.InputBox(Prompt:="Select the formulas",
Title:="VALUES ONLY", Type:=8)

If rRange Is Nothing Then Exit Sub

rRange = rRange.Value

End Sub

This works great for one worksheet but how do I apply it to several
worksheets? The column that I'm select to paste values only is the same for
each worksheet.

Basically I would like to select a range of cells and have it apply to that
same range of cells for every worksheet.

Gary''s Student

Macro: Paste Values
 
a tiny trick:

Sub ValuesOnly()
Dim rRange As Range
On Error Resume Next

Set rRange = Application.InputBox(Prompt:="Select the formulas",
Title:="VALUES ONLY", Type:=8)
If rRange Is Nothing Then Exit Sub
ad = rRange.Address
For Each sh In Sheets
sh.Range(ad).Value = sh.Range(ad).Value
Next
End Sub


--
Gary''s Student - gsnu200794


"Jennifer" wrote:

I'm using this macro to make one column values only:
Sub ValuesOnly( )

Dim rRange As Range

On Error Resume Next

Set rRange = Application.InputBox(Prompt:="Select the formulas",
Title:="VALUES ONLY", Type:=8)

If rRange Is Nothing Then Exit Sub

rRange = rRange.Value

End Sub

This works great for one worksheet but how do I apply it to several
worksheets? The column that I'm select to paste values only is the same for
each worksheet.

Basically I would like to select a range of cells and have it apply to that
same range of cells for every worksheet.


Dave Peterson

Macro: Paste Values
 
Option Explicit
Sub ValuesOnly2()

Dim sAddr As String
Dim wks As Worksheet

sAddr = ""
On Error Resume Next
sAddr = Application.InputBox(Prompt:="Select the formulas", _
Title:="VALUES ONLY", Type:=8).Address
On Error GoTo 0

If sAddr = "" Then
Exit Sub
End If

For Each wks In ActiveWorkbook.Worksheets
With wks.Range(sAddr)
.Value = .Value
End With
Next wks

End Sub


Jennifer wrote:

I'm using this macro to make one column values only:
Sub ValuesOnly( )

Dim rRange As Range

On Error Resume Next

Set rRange = Application.InputBox(Prompt:="Select the formulas",
Title:="VALUES ONLY", Type:=8)

If rRange Is Nothing Then Exit Sub

rRange = rRange.Value

End Sub

This works great for one worksheet but how do I apply it to several
worksheets? The column that I'm select to paste values only is the same for
each worksheet.

Basically I would like to select a range of cells and have it apply to that
same range of cells for every worksheet.


--

Dave Peterson

Jennifer

Macro: Paste Values
 
This works great! Thanks so much.

One question:
As far as I can tell it did the paste values into all the correct
worksheets. Can you explain to me how (or which part of the code) did this?
This sounds a little ambiguous, I mean that there are worksheets I didn't
want to do the paste special and the code seemed to do that. Can you explain?

"Dave Peterson" wrote:

Option Explicit
Sub ValuesOnly2()

Dim sAddr As String
Dim wks As Worksheet

sAddr = ""
On Error Resume Next
sAddr = Application.InputBox(Prompt:="Select the formulas", _
Title:="VALUES ONLY", Type:=8).Address
On Error GoTo 0

If sAddr = "" Then
Exit Sub
End If

For Each wks In ActiveWorkbook.Worksheets
With wks.Range(sAddr)
.Value = .Value
End With
Next wks

End Sub


Jennifer wrote:

I'm using this macro to make one column values only:
Sub ValuesOnly( )

Dim rRange As Range

On Error Resume Next

Set rRange = Application.InputBox(Prompt:="Select the formulas",
Title:="VALUES ONLY", Type:=8)

If rRange Is Nothing Then Exit Sub

rRange = rRange.Value

End Sub

This works great for one worksheet but how do I apply it to several
worksheets? The column that I'm select to paste values only is the same for
each worksheet.

Basically I would like to select a range of cells and have it apply to that
same range of cells for every worksheet.


--

Dave Peterson


Dave Peterson

Macro: Paste Values
 
For Each wks In ActiveWorkbook.Worksheets
With wks.Range(sAddr)
.Value = .Value
End With
Next wks


Is the part that pasted the values. And you'll notice that it did the work for
each worksheet in the activeworkbook.

If you had sheets that had formulas in that range's address, then they got
converted to values, too. Double check your workbook before you save it!

If you don't want all the worksheets, you can group the sheets first (click on
the first tab and ctrl-click on subsequent tabs).

But change the code in the macro to just process the selected sheets:

for each wks in activewindow.selectedsheets

Remember to ungroup the worksheets when you're done.

Jennifer wrote:

This works great! Thanks so much.

One question:
As far as I can tell it did the paste values into all the correct
worksheets. Can you explain to me how (or which part of the code) did this?
This sounds a little ambiguous, I mean that there are worksheets I didn't
want to do the paste special and the code seemed to do that. Can you explain?

"Dave Peterson" wrote:

Option Explicit
Sub ValuesOnly2()

Dim sAddr As String
Dim wks As Worksheet

sAddr = ""
On Error Resume Next
sAddr = Application.InputBox(Prompt:="Select the formulas", _
Title:="VALUES ONLY", Type:=8).Address
On Error GoTo 0

If sAddr = "" Then
Exit Sub
End If

For Each wks In ActiveWorkbook.Worksheets
With wks.Range(sAddr)
.Value = .Value
End With
Next wks

End Sub


Jennifer wrote:

I'm using this macro to make one column values only:
Sub ValuesOnly( )

Dim rRange As Range

On Error Resume Next

Set rRange = Application.InputBox(Prompt:="Select the formulas",
Title:="VALUES ONLY", Type:=8)

If rRange Is Nothing Then Exit Sub

rRange = rRange.Value

End Sub

This works great for one worksheet but how do I apply it to several
worksheets? The column that I'm select to paste values only is the same for
each worksheet.

Basically I would like to select a range of cells and have it apply to that
same range of cells for every worksheet.


--

Dave Peterson


--

Dave Peterson


All times are GMT +1. The time now is 04:41 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com