Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
520to524
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
520to524
520to524
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Bereich - Makro - Formel

Bereich - Makro - Formel
22.11.2004 22:53:26
Fabian
Habe folgendes Problem:
Mein Makro greift auf Werte in gewissen Zellen zurück, die in einer anderen Zelle durch einen User defnierbar sein sollen. Konkret:
wenn in der Zelle A1 Folgendes steht:
"B1;B2;B3" (oder "=B1:B3") soll in Zelle A2 zB
=Average(B1:B3) stehen. In anderen Worten, der in A1 definierte Bereich soll in A2 in einem mathematischen Ausdruck wieder verwertet werden.
Wahrscheinlich eine banale Angelegenheit, aber mir fehlt die zündende Idee.
Schon mals danke,
Fabi

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bereich - Makro - Formel
Jörg
Hallo Fabian,
ich bin noch Anfänger in VBA, meinst Du es so?

Sub test()
Range("A2") = Application.WorksheetFunction.Average(Range(Range("A1").Value))
End Sub

allerdings geht für Zelle A1: B1;B2;B3 hier nicht, Du musst in VBA, oder generell in englischen Formeln, mit Komma trennen, darum in A1: B1,B2,B3 oder B1:B3, jeweils als Text eingegeben, aber ohne "", oder mit = in "", so das die "" nicht in der Zelle erscheinen.
Gruss Jörg
AW: Bereich - Makro - Formel
Jörg
Hallo Fabian,
oder willst Du die Formel in die Zelle eintragen?

Sub test()
Range("A2").Formula = "=AVERAGE(INDIRECT(A1))"
End Sub

Funktioniert aber nur mit "B1:B3" in A1, nicht mit "B1,B2,B3"
Gruss Jörg
Anzeige
AW: Bereich - Makro - Formel
23.11.2004 09:00:31
Fabian
Hallo Jörg,
vielen Dank für die Antwort. Die Formel in die Zelle einzutragen ist die bessere Lösung für mich, das so der Bereich im Nachhinein noch neu definiert werden kann ohne das Makro laufen lassen zu müssen.
Gibt's auch 'ne Möglichkeit, das "=" wegzuschneiden bei einem Ausdruck der Form
"=B1:B3" ?
Dann müssten die User den gewünschten Bereich nicht eintippen sondern könnten in gleich mit dem Cursor anwählen. Funktioniert aber ansonsten gut mir dem INDIRECT(), ist eigentlich was ich gesucht habe.
Gruss, Fabian
AW: Bereich - Makro - Formel
Jörg
Hallo Fabian,
=MITTELWERT(INDIREKT(TEIL(A1;2;100)))

Sub test()
Range("A2").Formula = "=AVERAGE(INDIRECT(Mid(A1,2,100)))"
End Sub

Wenn ich dich denn richtig verstanden habe. A1 ist als Text formatiert, der Benutzer gibt = ein und markiert den Bereich, Abschluss mit Eingabetaste.
TEIL(A1;2;100) oder MID(A1,2,100) bedeutet: nehme von A1, ab dem zweiten Zeichen, 100 Zeichen lang. Das die Länge größer , als der Inhalt in A1 ist, stört die Formel nicht.
Gruss Jörg
Anzeige
AW: Bereich - Makro - Formel
23.11.2004 15:17:00
Fabian
Super, funktioniert bestens.
Nochmals danke,
Fabi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige