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

Forumthread: Formel mit variablem Inhalt in Zelle per VBA

Formel mit variablem Inhalt in Zelle per VBA
12.06.2015 13:17:40
Felix
Moin zusammen,
ich stehe vor dem Problem, dass ich eine Zelle eine Formel schreiben möchte.
Diese Formel soll bewirken, dass die beiden vorherigen Spalten multipliziert werden. Wichtig ist mir aber, dass eine Formel in die Zelle geschrieben wird.
Mein bisheriger Ansatz sieht wie folt aus:
Sub Commandbutton_Click()
Dim Zeile As Integer
Dim Spalte As Integer
Cells(144, 3).End(xlUp).Select
Zeile = Selection.Row
Spalte = Selection.Column
Cells(Zeile + 2, Spalte + 5).Formula = " = Produkt(" & Cells(Zeile + 2, Spalte + 4) & " ; " &  _
Cells(Zeile + 2, Spalte + 3) & ")"
End Sub
Das Problem ist hierbei, dass ein Leerzeichen hinter dem ersten " stehen muss, aber dadurch erkennt Excel das Ganze, wenn es in der Zelle steht, nicht mehr als Formel. Ohne das Leerzeichen taucht ein Fehler auf.
Kann mir hier jemand weiterhelfen?
Liebe Grüße
PS: ich habe schon etliche Varianten der Formel ausprobiert

Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel mit variablem Inhalt in Zelle per VBA
12.06.2015 13:25:29
Rudi
hallo,
VBA spricht englisch!
Cells(Zeile + 2, Spalte + 5).Formula = _
"=Product(" & Cells(Zeile + 2, Spalte + 4) _
& "," & Cells(Zeile + 2, Spalte + 3) & ")"
Gruß
Rudi

AW: Formel mit variablem Inhalt in Zelle per VBA
12.06.2015 13:39:23
Felix
Vielen Dank für den Hinweis, aber das habe ich auch ausprobiert. Ändert leider nichts am Problem.
Liebe Grüße

Anzeige
bei mir geht das. owT
12.06.2015 13:45:03
Rudi

AW: bei mir geht das. owT
12.06.2015 14:51:58
Felix
Naja das Problem ist auch irgendwie, dass er die Werte, die in der Zelle stehen, in die Formel einsetzt und nicht den Verweis zur Zelle. Gibt es hierfür eine Lösung?

ja.
12.06.2015 19:03:18
Michael
Hi zusammen,
kopier das mal in Deinen Code zum Testen, und es wird Dir ein Licht aufgehen:
MsgBox Cells(Zeile + 2, Spalte + 5).Address _
(RowAbsolute:=False, ColumnAbsolute:=False)
MsgBox Cells(Zeile + 2, Spalte + 5).Offset(0, -1).Address _
(RowAbsolute:=False, ColumnAbsolute:=False)
MsgBox Cells(Zeile + 2, Spalte + 5).Offset(0, -2).Address _
(RowAbsolute:=False, ColumnAbsolute:=False)
param1 = Cells(Zeile + 2, Spalte + 5).Offset(0, -1).Address _
(RowAbsolute:=False, ColumnAbsolute:=False)
param2 = Cells(Zeile + 2, Spalte + 5).Offset(0, -2).Address _
(RowAbsolute:=False, ColumnAbsolute:=False)
Cells(Zeile + 2, Spalte + 5).Formula = "=Product(" & _
param1 & "," & param2 & ")"
Die Klammern nach dem Address sorgen dafür, daß *keine* $-Zeichen (für absolute Verweise) ausgegeben werden.
Happy Exceling,
Michael

Anzeige
ja, Nachtrag
12.06.2015 19:08:58
Michael

'oder so:
Cells(Zeile + 2, Spalte + 5).Formula = "=" & param1 & "*" & param2

AW: ja, Nachtrag
15.06.2015 08:55:37
Felix
Super, vielen Dank! Ich habe es jetzt hinbekommen!

freut mich, danke für die Rückmeldung owT
15.06.2015 19:23:33
Michael
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige