Hallo,
also, da ich nicht weiss, wie deine Tabelle aussieht, hab ich mal eine einfache selbst entworfen. Ueberschriften:
In A1 "Zahlen" B1 freilassen C1 "Bereich"
Ab A2 nach unten dann die Zahlen eintragen. Das ist alles zur Vorbereitung. Die Ueberschrift in B1 wird vom Code eingetragen.
in Spalte B werden die Durchschnitte eingetragen und in C der Zellbereich, aus dem dieser Durchschnitt berechnet wurde.
Ich weiss nicht, wie du das Makro starten willst. Momentan musst du den Code in deiner Datei in ein Modul kopieren und mit F5 manuell starten.
Kannst das aber auch einem Button zuweisen, oder was immer du moechtest.
Im Code musst du nur den Tabellennamen bei Set ws und die Variable "Anzahl" anpassen. "Anzahl" meint die Anzahl der Zahlen, aus denen der Durchschnitt berechnet werden soll.
Hier dann der Code:
Option Explicit
Sub test()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet2") 'Tabellenname anpassen
Dim letzteA As Long, letzteB As Long
letzteA = ws.Cells(Rows.Count, 1).End(xlUp).Row
Dim Adr As String
Dim i As Long
Dim Av As Double
Dim Anzahl As Long
ws.Range("B2:C" & letzteA).ClearContents
Anzahl = 6 'Anzahl der Zahlen eingeben, aus denen der Durchschnitt berechnet werden soll
ws.Cells(1, 2) = "Durchschnittt aus " & Anzahl
For i = 2 To letzteA - Anzahl - 1
letzteB = ws.Cells(Rows.Count, 2).End(xlUp).Row
ws.Cells(letzteB + 1, 2) = Application.WorksheetFunction.Average(ws.Range("A" & i & ":A" & i + Anzahl - 1))
ws.Cells(letzteB + 1, 2).NumberFormat = ("0.000")
Adr = ws.Range("A" & i & ":A" & i + Anzahl - 1).Address
ws.Cells(letzteB + 1, 3) = Adr
Next
End Sub
Lass mich wissen, ob es so passt.
Gruss Torsten
|