View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
raphiel2063 raphiel2063 is offline
external usenet poster
 
Posts: 47
Default Applying formulas if certain cells are changed

Hi

I'm trying to have my worksheet perform autoformulas in certain cells as
people keep adding lines to it, which blanks out the formula in the correct
cell, and then moaning because it doesn't work. Because of this I want to set
up a macro so that if they alter/change any details (even if they add a row
in the middle) the formula will be carried out.

I've got most of the macro nailed down but am having trouble with the SUMIF
in vba. (*** section)

U4:BL4 is a row of headings (many of which are repeated)
A2 is the selection I want look up
U3:BL4 is the row with the values I want to sum up
The 1st cell which will have this formula is in the fifth row.


Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Range(Target.Address), Range("A:EE")) _
Is Nothing Then

Dim r As Long
r = Target.Row

If Cells(r, "B").Value < "" Or _
Cells(r, "C").Value < "" Or _
Cells(r, "E").Value < "" Then
*** cells(r,"I").formula=SUMIF($U$4:$BL$4,$A$2,U5:BL5) ***
End If
End If
End Sub


However, I need the macro to be generic so the row number changes with the
cell which is selected. Something like below

cells(r,"I").formula=SUMIF($U$(r-1):$BL$(r-1),$A$2,Ur:BLr)

Any ideas?