Hallo Udo,
du musst entweder die zu berücksichtigen Zeilen markieren (nur ein Block!) oder höchstens eine Zeile markieren, im letzten Fall wird nach erster und letzter Zeile gefragt.
Sub Mittelwerte_spez()
b = Selection.Rows.Count
If b = 1 Then
ber = InputBox("Anfangszeile:Endzeile" + vbCrLf + vbCrLf + "Beispiel: 56-112", "Rechenbereich")
a = InStr(ber, "-")
If a = 0 Then MsgBox "Falsches Eingabeformat!": Exit Sub
s = Val(Left(ber, a - 1))
If IsNumeric(s) = False Then MsgBox "Falsches Eingabeformat!": Exit Sub
e = Val(Mid(ber, a + 1))
If IsNumeric(s) = False Then MsgBox "Falsches Eingabeformat!": Exit Sub
b = e - s + 1
Else
s = Selection.Row
e = s + b - 1
End If
For i = 1 To 79
a = 0
For j = s To e
a = a + Cells(j, i)
Next j
Cells(514, i) = a / b
Next i
End Sub
Gruß
Holger
Udo schrieb am 12.09.2008 21:50:29:
Hallo zusammen,
ich bin auf der Suche nach einem Makro um einen variablen Mittelwert zu bilden.
Folgende Situation:
In einem Tabellenblatt stehen Daten von Spalte A bis CA und Zeile 1 bis 512
Ich bräuchte ein Makro das mir in jede Spalte (von A bis CA) in Zeile 514 den Mittelwert einer frei wählbaren Zeilenanzahl schreibt (z.B. Zeile 100-200).
Hat jemand eine Idee?
Vielen Dank im voraus.
Udo |