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

VBA Glättung von Messwerten

VBA Glättung von Messwerten
Messwerten
Hallo zusammen,
ich muss eine Funktion Glätten in dem ich bei 6000 Messwerten jeweils aus 11 Werten den Mittelwert bilde.
Per Hand ist es doch eine recht umfangreiche Arbeit ^^. Würde gern über ne Schleife die Mittelwerte bilden wollen, hab aber leider nicht die richtig Idee es umzusetzen.
Mein bruchstückhafter Ansatz:
Sub button_schleife_mittelwert()
For n = 2003 To 4003
y = 2003
If activesheets.Cells(y, 3).Value = "" Then
Range(n, 2).Formula = "=Average(B2003:B2013)"
Exit For
End If
End Sub
B: Spalte mit Messwerten
C: Spalte wo die Mittelwerte gebildet werden sollen
n: Bereich aus denen Mittelwerte gebildet werden sollen
Vielen dank schon mal.
Gruß Erik

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA Glättung von Messwerten
15.05.2012 09:44:25
Messwerten
Hallo Erik,
Dein Problem ist, dass Dein Ansatz den Bezug fest lässt, oder?
Probier mal statt
    Range(n, 2).Formula = "=Average(B2003:B2013)"  
Range(n, 2).FormulaR1C1 = "=AVERAGE(RC[-1]:R[10]C[-1])"
Gruß,
Günther
AW: VBA Glättung von Messwerten
15.05.2012 10:00:43
Messwerten
Hallo danke schon mal,
Habs jetzt noch einwenig verändert:
Sub button_schleife_mittelwert()
For n = 1998 To 4500
x = 11
y = 2003
activesheets.Cells(y, 3).Value = ""
'Mittelwert
Range(n + x, 2).FormulaR1C1 = "=AVERAGE(RC[-1]:R[10]C[-1])"
Exit For
n = 4500
Next
activesheets.Cells(y + 1, 3).Value = ""
End Sub
Er meint das Objekt fehlt ^^, ich glaube mein next ist falsch.
Anzeige
AW: VBA Glättung von Messwerten
15.05.2012 10:30:49
Messwerten
Hallo Eric
Schreib mal ganz oben ueber den Code das:

Option Explicit

Dann werden Dir die Fehler schon mal angezeigt.
Warum machst Du eine Schleife, wenn Du diese gleich wieder beendest?
ActiveSheets heisst ActiveSheet ohne "s"
Hier Dein Code, was auch immer er machen soll.

Option Explicit
Sub button_schleife_mittelwert()
Dim n As Long
Dim x As Long
Dim y As Long
For n = 1998 To 4500
y = 2003
ActiveSheet.Cells(y, 3).Value = ""
'Mittelwert
Cells(n, 4).FormulaR1C1 = "=AVERAGE(RC[-1]:R[10]C[-1])"
Exit For
n = 4500
Next
ActiveSheet.Cells(y + 1, 3).Value = ""
End Sub

gruss hary
Anzeige
AW: VBA Glättung von Messwerten
15.05.2012 10:37:51
Messwerten
Hey danke schon mal.
Was macht das Option Explicit?
Und ich möchte eigentlich "nur" Mittelwerte von 11 aufeinander folgenden Werten erzeugen.
z.b.
C1 Mittelwert von (B1:B11)
C2 Mittelwert von (B12:B22)
C3 ....
kann man das vielleicht auch anders lösen ohne VBA ?
AW: VBA Glättung von Messwerten
15.05.2012 10:42:23
Messwerten
Hallo
Was macht das Option Explicit?

Erzwing die Variablendeklaration. Kannst Du auch in VBA einstellen das es immer oben steht.
Versuch mald das:

Option Explicit
Sub n()
Dim n As Long
For n = 2009 To 4500 Step 11 '2009 ist die erste Zeilenummer wo die Formel rein soll.
'Mittelwert
Cells(n, 2).FormulaR1C1 = "=AVERAGE(RC[-1]:R[10]C[-1])"
Next
End Sub

gruss hary
Anzeige
AW: VBA Glättung von Messwerten
15.05.2012 10:53:45
Messwerten
Ja ähh .... da kann ich jetzt nur vielen vielen Dank sagen. Funktioniert wie ich es wollte, nur das er die Mittelwerte in Abständen schreibt aber das bekomm ich hin.
Danke dir und schön Tag noch
Gruß Erik
AW: VBA Glättung von Messwerten
15.05.2012 11:05:08
Messwerten
Hallo
Du moechtest die Formel untereinander in SpalteB ?
gruss hary
AW: VBA Glättung von Messwerten
15.05.2012 11:40:16
Messwerten
Hallo Eric
Versuch mal so. Formel untereinanderin SpalteB

Sub versuch()
Dim n As Long
Dim zaehler As Long
zaehler = 1
For n = 1998 To 2491 Step 12
'Mittelwert
Cells(Cells(Rows.Count, 4).End(xlUp).Row + 1, 4).FormulaR1C1 = "=AVERAGE(R" & n & "C[-3]:R["  _
& (11 * zaehler) & "]C[-3])"
zaehler = zaehler + 1
Next
End Sub

gruss hary
Anzeige
AW: Korrektur
15.05.2012 11:44:00
hary
Hallo
war falsche Spalte.
ersetz mal.

Cells(Cells(Rows.Count, 4).End(xlUp).Row + 1, 4).FormulaR1C1 = "=AVERAGE(R" & n & "C[-3]:R[" &  _
(11 * zaehler) & "]C[-3])"

durch

Cells(Cells(Rows.Count, 2).End(xlUp).Row + 1, 2).FormulaR1C1 = "=AVERAGE(R" & n & "C[-1]:R[" &  _
(11 * zaehler) & "]C[-1])"

gruss hary

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige