Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Funtion

Forumthread: Funtion

Funtion
20.09.2004 13:29:25
Gregor
Hallo
Ich möchte mit einer Function-Funktion die Zeilen Y3 bis Y intlastRow zusammenzählen und durch die Anzahl Zeilen dividieren und diesen Wert einer Variablen übergeben. Soweit bin ich gekommen:

Function Summe()
Dim intlastRow, Wert
intlastRow = Cells(Rows.Count, 7).End(xlUp).Row
Cells(61, 25).FormulaLocal = "=SUMME(Y3:Y" & intlastRow & ")/" & "Anzahl(Y3:Y" & intlastRow & ")"
End Function

Ich will die Summe aber nicht in eine Zelle schreiben(hier Y61), sondern der Variablen Wert zuweisen. Wie gehe ich weiter vor?
Wie löse ich die

Function Summe in der 

Sub Prozedur aus?
Vielen Dank Gregor

		
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Funtion
harry
hi,
versuch mal
intlastRow = Cells(Rows.Count, 25).End(xlUp).Row
For i = 3 To intlastRow
wert = wert + Cells(i, 25).Value
Next i
mittelwert = wert / (i - 1)
liebe grüße,
harry
AW: Funtion
gregor
Hallo Harry
Klappt natürlich wunderbar und ist viel einfacher als mit einer Formel.
Vielen Dank für die rasche Antwort
Gregotr
Anzeige
AW: Function
20.09.2004 13:55:28
Christian
so zB:

Function Schnitt()
Dim intlastRow As Integer, Wert As Double
intlastRow = Cells(Rows.Count, 1).End(xlUp).Row
Wert = Application.Sum(Range("A1:A" & intlastRow)) / _
Application.CountA(Range("A1:A" & intlastRow))
MsgBox Wert
End Function

Anzeige
AW: Function
Gregor
Christian vielen Dank
Ich habe nun gemerkt, dass die Lösung von Harry nur mit ganzen Zahlen rechnet, bei meiner Aufgabe habe ich aber genaue Ergebnisse mit Kommastellen. Deine Lösung rechnet da genau.
Noch eine Frage zu CountA
Welchen Befehl muss ich nehmen, dass für den Divisor nur die Zellen mit Wert grösser Null (es gibt leere Zellen und Zellen mit 0.000) genommen wird?
Gruss Gregor
Anzeige
AW: Function
21.09.2004 09:50:34
Christian
Hallo Gregor,
wenn jetzt nur die positiven Zahlen in die Rechnung einfließen sollen, dann kannst du die Excelfunktionen "Zählenwenn" verwenden. (in VBA: CountIF)

Function Schnitt_II()
Dim intlastRow As Integer, Wert As Double
intlastRow = Cells(Rows.Count, 1).End(xlUp).Row
Wert = Application.Sum(Range("A1:A" & intlastRow)) / _
Application.CountIf(Range("A1:A" & intlastRow), ">0")
End Function

Gruß
Christian
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige