Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1592to1596
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

Mittelwert per VBA

Mittelwert per VBA
22.11.2017 12:59:16
Chris
Hallo zusammen,
folgendes Szenario:
Ich habe eine Tabelle (Beispieldatei anbei). In dieser werden täglich erledigte Aufträge anhand des jeweiligen Datums eingetragen.
Aus den eingetragenen Daten soll sich für heute eine Prognose errechnen.
Wenn heute Donnerstag ist soll der Durchschnitt aus den letzten 6 Donnerstagen ermittelt werden, wenn heute Fraitag dann aus den letzten 6 Freitagen, usw.
Funktioniert das per VBA?
Vielen Dank für eure Hilfe.
VG
Chris
https://www.herber.de/bbs/user/117832.xlsx

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Code
22.11.2017 13:31:34
Phi.VBA
Hallo Chris,
teste diese UDF:

Function Av6Wk(rng As Range)
If rng.Column  1 Then MsgBox "Spalte A markieren": Exit Function
Dim L6Wk(5) As Long
Dim WSF As WorksheetFunction: Set WSF = Application.WorksheetFunction
lr = rng.Row
Wk_Day = WSF.Weekday(Cells(lr, 1), 11) ' Montag = 1
Do
If WSF.Weekday(Cells(lr, 1), 11) = Wk_Day Then
L6Wk(i) = Cells(lr, 2)
i = i + 1
End If
lr = lr - 1
Loop Until i = 6
Av6Wk = WSF.Average(L6Wk)
End Function
Grüße
AW: VBA Code
22.11.2017 13:41:28
Chris
Hallo,
danke für deine Antwort.
Ist es auch möglich, den Mittelwert in einer Zelle z.B. D2 ausgeben zu lassen?
Danke.
VG Chris
Anzeige
AW: ja
22.11.2017 13:45:05
Phi.VBA
Hallo Chris,
diese UDF kann in jeder Zelle stehen, nur muss eine Zelle der Spalte A markiert/übergeben werden.
Grüße
AW: ja
22.11.2017 13:47:24
Chris
Sorry. Ich bin überhaupt nicht konfirm mit VBA.
Wie erreiche ich mit deinem Makro, dass die Ausgabe in einer Zelle erscheint?
VG Chris
AW: Das ist ein Problem
22.11.2017 13:55:49
Phi.VBA
Hallo Chris,
ohne zumindest Basiskenntnisse in VBA wird es schwierig, die Antworten hier aus dem Forum umzusetzen.
Grüße
AW: Das ist ein Problem
22.11.2017 13:57:16
Chris
Ja dem bin ich mir bewusst. Ich bin gerade dabei die Basiskentnisse zu erlangen. Leider geht das ja nicht in Sekunden.
Leider brauche ich die Lösung für das Problem relativ zeitnah.
Danke.
VG
Chris
Anzeige
AW: Training?
22.11.2017 14:21:29
Phi.VBA
Hallo Chris,
falls der Arbeitgeber ein Training bezahlt (am Sitz der Zentrale) würde ich das anbieten.
Grüße
AW: ungetestet Code für alle Tage
22.11.2017 13:53:45
Phi.VBA
Hallo Chris,
um für alle Wochentage den Mittelwert der letzten 6 Wochen zu ermitteln:

Sub Phi_Test()
'in Spalte D1:D7 die Zahl des Wochentags 0-6
Dim L6Wk(5) As Long
Dim WSF As WorksheetFunction: Set WSF = Application.WorksheetFunction
lr = Cells(Rows.Count, 1).End(xlUp).Row
'Wk_Day = WSF.Weekday(Cells(lr, 1), 11) ' Montag = 1
for i = 1 to 7
Wk_Day = cells(i,"D")
Do
If WSF.Weekday(Cells(lr, 1), 11) = Wk_Day Then
L6Wk(i) = Cells(lr, 2)
i = i + 1
Debug.Print Cells(lr, 1)
End If
lr = lr - 1
Loop Until i = 6
Cells(i,"E") = WSF.Average(L6Wk)
next i
End Sub
Grüße
Anzeige
AW: ungetestet Code für alle Tage
22.11.2017 13:57:41
Chris
Das funktioniert leider nicht so. Da bekomm ich eine Fehlermeldung.
VG Chris
AW: Getestet: Code für alle Tage
22.11.2017 14:12:45
Phi.VBA
Hallo Chris,
hier ein Code, der für alle Wochentage den Mittelwert der letzten 6 Wochen berechnet. Es gibt keine Fehlermeldung, prüfe aber bitte die Zahlen.

Sub Phi_Test()
Dim L6Wk(6) As Long
Dim WSF As WorksheetFunction: Set WSF = Application.WorksheetFunction
LRow = Cells(Rows.Count, 1).End(xlUp).Row
For r = 1 To 7
lr = LRow
Do
If WSF.Weekday(Cells(lr, 1), 11) = r Then
L6Wk(i) = Cells(lr, 2)
i = i + 1
Debug.Print Cells(lr, 1)
End If
lr = lr - 1
If lr = 1 Then MsgBox "zu wenige Daten": Exit Sub
Loop Until i = 6
Cells(r, "D") = Format(r + 1, "DDDD")
Cells(r, "E") = WSF.Average(L6Wk)
i = 0
Next r
End Sub
Grüße
Anzeige
AW: Getestet: Code für alle Tage
22.11.2017 14:22:16
Chris
Danke.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige