View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Rick Rothstein Rick Rothstein is offline
external usenet poster
 
Posts: 5,934
Default Marco to copy and paste values based on cell value (cont)

Are you simply copying the values from the calculated range back over the
formulas that produced them? If so, give this macro a try (it should handle
all of your months directly)...

Sub PVPrImpct()
With Range("B48:B74").Offset(, Worksheets( _
"Price Impact by Month").Range("A44"))
.Value = .Value
End With
End Sub

--
Rick (MVP - Excel)


"Nina" wrote in message
...
Hi - I am reposting my question as I made a mistake on the ranges also I
think that momentum has been lost as the question was put last night ...
Thank you guys for your help!

Here is my post from last night with corrections ---

First of all thanks a lot for your assistance. I did spend some time
researching the excel community and trying few codes but I was not able to
find modify one to fit my needs, so I am hoping that someone can help
figure
out why the code I wrote below does not work (I know it is not the best
coding possible but if works I am set :-) Any other suggestions are
welcome
of course :-)

Cell A44 value changes (1 to 12) based on user selection (month of a date
in
another worksheet). =MONTH('Direct Cat_Infl&Perf'!J3)

columns B to M are respectivelly, Jan to Dec and there are formulas in
each
column cell( lines 48 to 74. )

I want to, copy/paste values on the specific column based on cell A44.
i.e.
if cell A44 = 1 then copy/paste values for the Jan column (range B48:B74),
if
A44 = 2 then copy/paste values for column Feb range C48:C74, the report
will
change once month only .. I wrote the following but it is not working ....

Sub PVPrImpct()
'
Dim dmonth As Range

Set dmonth = Worksheets("Price Impact by Month").Range("A44")


' Jan

If dmonth = "1" Then

Range("B48:B74").Select
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
else

If dmonth = "2" Then

Range("C48:C74").Select
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False

I repeat that till it reaches 12 (december)

Thanks a lot for your input!

:-)