kennt ihr eine Möglichkeit in VBA leere Zellen aus Berechnungen auszulassen ?
Ich habe im Internet nichts gescheites dazu finden können außer Excel Formeln.
Es geht um folgenden Code:
lngZeile_2 = .Range(.Cells(.Rows.Count, 1), .Cells(1, 1)).Find(What:="*", LookIn:= _
xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
lngAnzSpa = .Range(.Cells(lngZeile_2, .Columns.Count), .Cells(1, 1)).Find(What:="*", LookIn: _
= _
xlValues, LookAt:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
lngZeilenBlock = 50
ReDim arrErgebnis(1 To CLng(lngZeile_2 / lngZeilenBlock) + 1, 1 To 6)
lngZeile_3 = 0
For lngZeile = 1 To lngZeile_2 Step lngZeilenBlock
Set rngBlock = .Range(.Cells(lngZeile), .Cells(lngZeile + lngZeilenBlock - 1, lngAnzSpa) _
)
lngZeile_3 = lngZeile_3 + 1
With Application.WorksheetFunction
arrErgebnis(lngZeile_3, 1) = lngZeile_3
arrErgebnis(lngZeile_3, 2) = .Min(rngBlock)
arrErgebnis(lngZeile_3, 3) = .Average(rngBlock)
arrErgebnis(lngZeile_3, 4) = .StDev(rngBlock)
arrErgebnis(lngZeile_3, 5) = lngZeile
If lngZeile + lngZeilenBlock - 1 > lngZeile_2 Then
arrErgebnis(lngZeile_3, 6) = lngZeile_2
Else
arrErgebnis(lngZeile_3, 6) = lngZeile + lngZeilenBlock - 1
End If
End With
Der Fettmarkierte Teil ist der Block der berechnet wird, kann ich ihm irgendwie vermitteln dass er den Block nur dann berechnen soll wenn er einen Wert hat UND Nullen beim berechnen zusätzlich ausschließen soll ? Das Problem ist dass die Tabelle die berechnet wird mehrere Hundert leere Zeilen oder Zellen hat und dann kommen wieder Zellen mit Werten