Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1776to1780
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Summenprodukt VBA gewichteter Mittelwert

Summenprodukt VBA gewichteter Mittelwert
20.08.2020 14:30:22
Hannah
Liebe Community,
ich möchte gerne den gewichteten Mittelwert den Werte aus BereichA mit den Gewichten aus BereichB berechnen, jedoch nur, wenn die Werte ungleich -99 sind.
Ich habe bereits herausgefunden, dass das nur mit Evaluate funktioniert, bekomme es aber trotzdem nicht hin. Erhalte Typenfehler.
Danke für eure Hilfe!
Userbild

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Summenprodukt VBA gewichteter Mittelwert
20.08.2020 18:34:37
Dieter
Hallo Hannah,
du könntest das z.B. so machen:

Sub Test_Gewichteter_Mittelwert()
Dim BereichA As Range
Dim BereichN As Range
Dim letzteZeile As Long
Dim MW As Double
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("Datenbank")
letzteZeile = Worksheets("Datenbank").Cells(Rows.Count, 15).End(xlUp).Row
Set BereichN = ws.Cells(letzteZeile, "R").Resize(, 5)
Set BereichA = BereichN.Offset(1)
MW = Gewichteter_Mittelwert(BereichA, BereichN)
MsgBox "MW=" & MW
End Sub
Function Gewichteter_Mittelwert(BereichA As Range, _
BereichN As Range) As Double
Dim i As Long
Dim sp As Double
Dim summe As Double
For i = 1 To BereichA.Cells.Count
If BereichA.Cells(i) > -99 Then
sp = sp + BereichA.Cells(i) * BereichN.Cells(i)
End If
Next i
summe = WorksheetFunction.SumIf(BereichN, ">-99", BereichA)
If summe  0 Then
Gewichteter_Mittelwert = sp / summe
End If
End Function
Viele Grüße
Dieter
Anzeige

56 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige