Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Formel in Zelle per VBA einfügen

Forumthread: Formel in Zelle per VBA einfügen

Formel in Zelle per VBA einfügen
10.09.2008 14:17:46
Werner
Wie kann ich Statistikformeln (Mittelwert, Maximum, Minimum, Standardabweichung) per VBA in eine Zelle einfügen?
Der zu berechnende Bereich geht von "$J$1" bis "$J$n" wobei n mit ActiveCell.Row-2 zuvor berechnet wird.
Gruß Werner.
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel in Zelle per VBA einfügen
10.09.2008 14:21:00
Tobias
Hallo Werner!
activecell.row-2 kannst Du Dir sparen.
Sub FormelInAktiveZelleEinfügen()
    'R1C1 = Zelle A1
    'R[-2]C[-1] = eine Spalte nach links, zwei Zeilen nach oben
    ActiveCell.FormulaR1C1 = "=MIN(R1C1:R[-2]C[-1])"
End Sub
Gruß, Tobi
http://vba-blog.de/
AW: Formel in Zelle per VBA einfügen
Werner

Hallo Tobi,
danke für den Tipp. Ich habe noch etwas herumprobiert es geht auch so:

strLetzteZeile = ActiveCell.Row - 2
strRange = "$J$1:$J$" & strLetzteZeile
ActiveCell.Offset(0, 0).FormulaLocal = "=Mittelwert(" & strRange & ")"
ActiveCell.Offset(0, 0).NumberFormat = "h:mm:ss;@"


Gruß Werner.

AW: Formel in Zelle per VBA einfügen
Erich

Hallo Werner,
wozu soll "Offset(0, 0)" gut sein? Da könntest du auch noch ActiveCell.Offset(0, 0).Resize(1, 1).... schreiben.
Kürzer wäre

strRange = "$J$1:$J$" & ActiveCell.Row - 2
With ActiveCell
.FormulaLocal = "=Mittelwert(" & strRange & ")"
.NumberFormat = "h:mm:ss;@"
End With
' oder noch kürzer:
With ActiveCell
.FormulaLocal = "=MITTELWERT($J$1:$J$" & ActiveCell.Row - 2 & ")"
.NumberFormat = "h:mm:ss;@"
End With

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

AW: Formel in Zelle per VBA einfügen
Werner

Hallo Erich,
vielen Dank für Deinen Tipp, ich werden mein Makro dahingehend ändern.
Gruß Werner.
Anzeige
AW: Formel in Zelle per VBA einfügen
10.09.2008 15:52:02
Werner
Hallo Tobi,
danke für den Tipp. Ich habe noch etwas herumprobiert es geht auch so:

strLetzteZeile = ActiveCell.Row - 2
strRange = "$J$1:$J$" & strLetzteZeile
ActiveCell.Offset(0, 0).FormulaLocal = "=Mittelwert(" & strRange & ")"
ActiveCell.Offset(0, 0).NumberFormat = "h:mm:ss;@"


Gruß Werner.

Anzeige
AW: Formel in Zelle per VBA einfügen
13.09.2008 07:21:34
Erich
Hallo Werner,
wozu soll "Offset(0, 0)" gut sein? Da könntest du auch noch ActiveCell.Offset(0, 0).Resize(1, 1).... schreiben.
Kürzer wäre

strRange = "$J$1:$J$" & ActiveCell.Row - 2
With ActiveCell
.FormulaLocal = "=Mittelwert(" & strRange & ")"
.NumberFormat = "h:mm:ss;@"
End With
' oder noch kürzer:
With ActiveCell
.FormulaLocal = "=MITTELWERT($J$1:$J$" & ActiveCell.Row - 2 & ")"
.NumberFormat = "h:mm:ss;@"
End With

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Formel in Zelle per VBA einfügen
15.09.2008 07:20:10
Werner
Hallo Erich,
vielen Dank für Deinen Tipp, ich werden mein Makro dahingehend ändern.
Gruß Werner.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige