ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Worksheet Functions (https://www.excelbanter.com/excel-worksheet-functions/)
-   -   Applying change to selected cells (https://www.excelbanter.com/excel-worksheet-functions/220767-applying-change-selected-cells.html)

Colin Hayes

Applying change to selected cells
 

Hi All

Don Guillett kindly made some code to change the content of a column of
numbers :


Sub Add_Subtract_Multiply_Divide_Selected_Column()
'
Selection.NumberFormat = "0.00"
Dim mc, lr As Long
Dim row1value, dowhat, x As String
mc = ActiveCell.Column
lr = Cells(Rows.Count, mc).End(xlUp).Row
If lr = 1 Then Exit Sub
dowhat = InputBox("A to Add, D to Divide, M to Multiply, S to Subtract")
Select Case UCase(dowhat)
Case "A": x = xlAdd
Case "D": x = xlDivide
Case "M": x = xlMultiply
Case "S": x = xlSubtract
Case Else
MsgBox "Not a choice - Please Try Again."
Exit Sub
End Select
row1value = Cells(1, mc)
Cells(1, mc) = InputBox("Vary Number By How Much?")
Cells(1, mc).Copy
Range(Cells(2, mc), Cells(lr, mc)).PasteSpecial _
Paste:=xlPasteAll, Operation:=x
Application.CutCopyMode = False
Cells(1, mc) = row1value

End Sub


I need a modification of this so that it applies itself just to the
range of cells I select within the column , rather than to the whole
column.

Can someone help with this?


Any advice appreciated.



Best Wishes


Don Guillett

Applying change to selected cells
 

Select for the copy or the destination?

--
Don Guillett
Microsoft MVP Excel
SalesAid Software

"Colin Hayes" wrote in message
...

Hi All

Don Guillett kindly made some code to change the content of a column of
numbers :


Sub Add_Subtract_Multiply_Divide_Selected_Column()
'
Selection.NumberFormat = "0.00"
Dim mc, lr As Long
Dim row1value, dowhat, x As String
mc = ActiveCell.Column
lr = Cells(Rows.Count, mc).End(xlUp).Row
If lr = 1 Then Exit Sub
dowhat = InputBox("A to Add, D to Divide, M to Multiply, S to Subtract")
Select Case UCase(dowhat)
Case "A": x = xlAdd
Case "D": x = xlDivide
Case "M": x = xlMultiply
Case "S": x = xlSubtract
Case Else
MsgBox "Not a choice - Please Try Again."
Exit Sub
End Select
row1value = Cells(1, mc)
Cells(1, mc) = InputBox("Vary Number By How Much?")
Cells(1, mc).Copy
Range(Cells(2, mc), Cells(lr, mc)).PasteSpecial _
Paste:=xlPasteAll, Operation:=x
Application.CutCopyMode = False
Cells(1, mc) = row1value

End Sub


I need a modification of this so that it applies itself just to the range
of cells I select within the column , rather than to the whole column.

Can someone help with this?


Any advice appreciated.



Best Wishes



Colin Hayes

Applying change to selected cells
 
In article , Don Guillett
writes

Select for the copy or the destination?


Hi Don

Thanks for getting back again. I hope I understand your question
correctly.

I'd like to be able to highlight a group of cells in the same column ,
and have the macro apply only to the selected cells , rather than the
whole column , if possible.

The macro could simply overwrite the highlighted cells with the new
value , please.



Best Wishes

Don Guillett

Applying change to selected cells
 
Still not entirely clear as to your desires. Try this:
Instead of
Range(Cells(2, mc), Cells(lr, mc)).PasteSpecial Paste:=xlPasteAll,
Operation:=x

try
selection.PasteSpecial Paste:=xlPasteAll, Operation:=x

--
Don Guillett
Microsoft MVP Excel
SalesAid Software

"Colin Hayes" wrote in message
...

Hi All

Don Guillett kindly made some code to change the content of a column of
numbers :


Sub Add_Subtract_Multiply_Divide_Selected_Column()
'
Selection.NumberFormat = "0.00"
Dim mc, lr As Long
Dim row1value, dowhat, x As String
mc = ActiveCell.Column
lr = Cells(Rows.Count, mc).End(xlUp).Row
If lr = 1 Then Exit Sub
dowhat = InputBox("A to Add, D to Divide, M to Multiply, S to Subtract")
Select Case UCase(dowhat)
Case "A": x = xlAdd
Case "D": x = xlDivide
Case "M": x = xlMultiply
Case "S": x = xlSubtract
Case Else
MsgBox "Not a choice - Please Try Again."
Exit Sub
End Select
row1value = Cells(1, mc)
Cells(1, mc) = InputBox("Vary Number By How Much?")
Cells(1, mc).Copy
Range(Cells(2, mc), Cells(lr, mc)).PasteSpecial _
Paste:=xlPasteAll, Operation:=x
Application.CutCopyMode = False
Cells(1, mc) = row1value

End Sub


I need a modification of this so that it applies itself just to the range
of cells I select within the column , rather than to the whole column.

Can someone help with this?


Any advice appreciated.



Best Wishes



Colin Hayes

Applying change to selected cells
 
In article , Don Guillett
writes
Still not entirely clear as to your desires. Try this:
Instead of
Range(Cells(2, mc), Cells(lr, mc)).PasteSpecial Paste:=xlPasteAll,
Operation:=x

try
selection.PasteSpecial Paste:=xlPasteAll, Operation:=x


Hi Don

OK that's got it working fine.

It now only operates on the selected cell range , rather than the whole
column , which is perfect.

Thanks again for you time and expertise.



Best Wishes


All times are GMT +1. The time now is 01:59 PM.

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