View Single Post
  #6   Report Post  
Bruno Campanini
 
Posts: n/a
Default subtraction in a list of numbers that resets with a label.

"Bruno Campanini" wrote in message
...
Or it can be done with VBA code.
Do you want to have this too?

Bruno


Here it is:

===========================
Sub StrangeCalculations()
Dim SourceRange As Range, TargetRange As Range
Dim StartRange As Range, i, j As Long
Dim PreviousItem

' Definitions
' -----------------------------
Set StartRange = [Sheet2!A281]
Set TargetRange = [Sheet2!B281]
' -----------------------------

Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
On Error GoTo ErrHandler

Set SourceRange = Range(StartRange, StartRange.End(xlDown))
ReDim TempArray(1 To SourceRange.Rows.Count)

For Each i In SourceRange
j = j + 1
If Not IsNumeric(i) Then
TargetRange.Offset(j - 1, 0) = "NA"
PreviousItem = i
ElseIf IsNumeric(i) And Not IsNumeric(PreviousItem) Then
TargetRange.Offset(j - 1, 0) = 0
PreviousItem = i
ElseIf IsNumeric(i) And IsNumeric(PreviousItem) Then
TargetRange.Offset(j - 1, 0) = i - PreviousItem
End If
Next

Exit_Sub:
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Exit Sub

ErrHandler:
MsgBox "Error " & Err.Number & vbCrLf & Err.Description & vbCrLf & _
"Procedu StrangeCalculations" & vbCrLf & _
ThisWorkbook.FullName
Resume Exit_Sub

End Sub
==================================

Regards
Bruno