L
L. Howard
The problem is with the Case 61, 62.
The values in col 61 and 62 are results of stock prices downloaded from some external source of Excel. So I think that is the reason the
Cells(Target.Row, 46) = Cells(Target.Row, 49)
does not work.
I can make manual changes on the sheet, where I over write the formula, and it works okay.
I tried using Worksheet_Calculate() but could not make that work either.
I was able to make a googled example work where you declare a range in a standard module, the calculate macro in the thisworkbook module and another macro in the sheet module.
Trying to adapt that system to my Case 61, 62 is beyond me.
Am I on the right track?
Thanks.
Howard
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("AW:AW,BI48:BJ65")) Is Nothing _
Or Target.count > 1 Then Exit Sub
Dim rngAW As Range
Dim LRow As Long
Dim c As Range
LRow = Cells(Rows.count, 49).End(xlUp).Row
Set rngAW = Range("AW6:AW" & LRow)
Select Case Target.Column
Case 49
For Each c In rngAW
If c.Offset(, -3) = "" Then
If c > 0 Then
c.Offset(, -3) = c
End If
End If
Next
Case 61, 62
If Cells(Target.Row, 61) = 0 Or Cells(Target.Row, 62) = 0 Then Exit Sub
Cells(Target.Row, 46) = Cells(Target.Row, 49)
End Select
End Sub
The values in col 61 and 62 are results of stock prices downloaded from some external source of Excel. So I think that is the reason the
Cells(Target.Row, 46) = Cells(Target.Row, 49)
does not work.
I can make manual changes on the sheet, where I over write the formula, and it works okay.
I tried using Worksheet_Calculate() but could not make that work either.
I was able to make a googled example work where you declare a range in a standard module, the calculate macro in the thisworkbook module and another macro in the sheet module.
Trying to adapt that system to my Case 61, 62 is beyond me.
Am I on the right track?
Thanks.
Howard
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("AW:AW,BI48:BJ65")) Is Nothing _
Or Target.count > 1 Then Exit Sub
Dim rngAW As Range
Dim LRow As Long
Dim c As Range
LRow = Cells(Rows.count, 49).End(xlUp).Row
Set rngAW = Range("AW6:AW" & LRow)
Select Case Target.Column
Case 49
For Each c In rngAW
If c.Offset(, -3) = "" Then
If c > 0 Then
c.Offset(, -3) = c
End If
End If
Next
Case 61, 62
If Cells(Target.Row, 61) = 0 Or Cells(Target.Row, 62) = 0 Then Exit Sub
Cells(Target.Row, 46) = Cells(Target.Row, 49)
End Select
End Sub