online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Sandra85 vom 19.04.2019, 21:36 Options

Makro für Mittelwertberechnung

Hallo,

kann mir jmd mit einem Makro weiterhelfen, welches den Mittelwert für jeweils 10 Werte ausrechnet? Es sind an die 50000 Werte die ich bei Excel verarbeiten (zeichnen, rechnen) möchte und diese sollen auf ein normales Maß normieren.
Also nochmal kurz: 50000 Werte und jeweils 10 Werte sollen immer zu einem Mittelwert zusammengefasst werden, d.h. am Ende nur noch 5000 Werte.
Vielen Dank für eure Hilfe!!!


Antwort schreiben

Antwort 1 von rainberg vom 19.04.2019, 23:09 Options

Hallo Sandra,

die Ausgangswerte stehen in A1:A50000
die errechneten Mittelwerte schreibt das Makro in B1:B5000

Option Explicit

Sub mittelwert()
Dim lngi As Long, intN As Integer
intN = 1
Application.ScreenUpdating = False
For lngi = 1 To 130 Step 10
Cells(intN, 2).Value = _
WorksheetFunction.Average(Range(Cells(lngi, 1), Cells(lngi + 9, 1)))
intN = intN + 1
Next
Application.ScreenUpdating = True
End Sub

Gruß
Rainer

Antwort 2 von gast72 vom 19.04.2019, 23:14 Options

Hallo Rainer

sollte es nicht For Ingi=1 to 50000 Step 10 heisen?

kollegialen Gruß

Antwort 3 von rainberg vom 19.04.2019, 23:16 Options

Korrektur:

For lngi = 1 To 130 Step 10 muss heißen

For lngi = 1 To 50000 Step 10

(ich hatte mit nur 130 Zeilen getestet)

Gruß
Rainer

Antwort 4 von Sandra85 vom 19.04.2019, 23:36 Options

Vielen Dank euch beiden! Ich werde es morgen gleich mal ausprobieren.
Bye

Antwort 5 von Sandra85 vom 20.04.2019, 09:53 Options

Super, es funktioniert!
Ich weiss nicht ob es moeglich ist und es muss auch nicht unbedingt sein, aber es waer super wenn ich auch noch ein Makro haette welches das ganze fuer 2 Spalten anwendet. Also in A und B stehen Werte und die Mittelwerte sollen dann jeweils in C und D geschrieben werden.

Wenn es geht waer es fantastisch wenn nicht geht es auch so...

Dankeschoen!

Antwort 6 von rainberg vom 20.04.2019, 11:28 Options

Hallo Sandra,

es ist fantastisch :-))

Option Explicit

Sub mittelwert()
Dim lngi As Long, intN As Integer
intN = 1
Application.ScreenUpdating = False
For lngi = 1 To 50000 Step 10
Cells(intN, 3).Value = _
WorksheetFunction.Average(Range(Cells(lngi, 1), Cells(lngi + 9, 1)))
Cells(intN, 4).Value = _
WorksheetFunction.Average(Range(Cells(lngi, 2), Cells(lngi + 9, 2)))
intN = intN + 1
Next
Application.ScreenUpdating = True
End Sub

Gruß
Rainer

Antwort 7 von Sandra85 vom 20.04.2019, 12:59 Options

Wirklich fantastisch :)

Vielen Dank nochmal! und schoenes Wochenende.

Ähnliche Themen

kann wegen makro nicht drucken - was machen?
srepsac  26.06.2007 - 118 Hits - 1 Antwort

Markos unsichtbar/sichtbar schalten
User3  17.09.2007 - 71 Hits - 1 Antwort

Makro für alle Tabellenblätter verfügbar machen
dieter1958  12.01.2008 - 107 Hits - 7 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026