Formel im Makro



Excel-Version: 2000
nach unten

Betrifft: Formel im Makro
von: Dieter
Geschrieben am: 01.05.2002 - 11:27:33

Wie kann ich per VBA einer Zelle eine Formel zuweisen?
Mir fehlt die Syntax. Mein falsches Beispiel:

ActiveCell = {=SUMME(WENN(A4=Lfd;zeit;FALSCH))}

wobei sich A4 bei jeder Makroausführung um eine Stelle erhöhen muß A5..A6..usw.
Ich bin für jeden Hinweis dankbar.

nach oben   nach unten

Re: Formel im Makro
von: Rolf, Lgh.
Geschrieben am: 01.05.2002 - 11:43:20

Hallo Dieter,
versuch mal das:

Option Explicit

Sub Formel_in_Zelle()
  Worksheets("Tabelle1").Range("A1").FormulaLocal = "=SUMME(WENN(A4=""Lfd"";B1:B2;C1:C2))"
End Sub


Gruß Rolf
nach oben   nach unten

Nachfrage
von: Rolf, Lgh.
Geschrieben am: 01.05.2002 - 11:53:18

Ist "zeit" der Name für eine Zelle oder einen Bereich. Oder wie soll ich Deine Formel verstehne?
Rolf

nach oben   nach unten

Re: Formel im Makro
von: Dieter
Geschrieben am: 01.05.2002 - 12:10:55

Lfd und zeit sind benannte Bereiche.

nach oben   nach unten

bei Array-Formel
von: Rolf, Lgh.
Geschrieben am: 01.05.2002 - 13:36:17

Option Explicit

Sub Formel_in_Zelle()
  ActiveCell.FormulaArray = "=SUM(IF(R4C1=Lfd,zeit,FALSE))"
End Sub


Rolf

nach oben   nach unten

Re: bei Array-Formel
von: Dieter
Geschrieben am: 01.05.2002 - 14:41:42

Vielen Dank für die Hilfe, es klappt!!

nach oben   nach unten

vollständige Lösung?
von: Rolf, Lgh.
Geschrieben am: 01.05.2002 - 19:02:05


Option Explicit

Dim intZaehler As Integer

Sub Formel_in_Zelle()
  If intZaehler < 4 Then
    intZaehler = 4
  End If
  ActiveCell.FormulaArray = "=SUM(IF(R" & intZaehler & "C1=Lfd,zeit,FALSE))"
  intZaehler = intZaehler + 1
End Sub

Sub Zaehler_zurücksetzen()
  intZaehler = 4
End Sub


Gruß Rolf

 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Formel im Makro"