Clever-Excel-Forum

Normale Version: Excel VBA Formeln in Tabelle schreiben
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Forum,
guten Abend Excel Freunde,

kann mir bitte jemand bei der Fehlersuche in einer Datei helfen? Kann die Ursache leider nicht selbst finden.
Es sollen in bestimmte Spalten (in der Beispieltabelle die Spalte L) nach der Überschrift bis zu vorletzten Zeile eingefügt werden. Da die Tabelle immer unterschiedliche Zeilenanzahlen hat, verändert sich die Zeilenanzahl stets. Die Formeln müssen sich jeweils mit relativen Bezügen auf die jeweilige =Zeile beziehen: z. B. in Zeile 3 A3+B3=C3,
in Zeile 4 A4+B4=C4 usw.

Anbei der Code bisher.
Vielen Dank für Eure Unterstützung im Voraus. Beispieltabelle ist beigefügt.

Grüße
NobX

Code:
Sub Formeln_einfügen()

Dim lngZeile As Long
Dim lngZeileMax As Long
Dim wsf As WorksheetFunction
Dim f As String
Set wsf = Application.WorksheetFunction

With Tabelle1

lngZeile = 3
lngZeileMax = .Cells(Rows.Count, "L").End(xlUp).Row - 1
f = "=If(A3>0,D3*E3,0)"
For lngZeile = lngZeile To lngZeileMax
.Range(lngZeile & "L:L").Value = _
wsf.Value(f)

lngZeile = lngZeile + 1
Next

End With

End Sub
Hallo,

da man mit VBA auch vortrefflich rechnen kann, macht es aus meiner Sicht keinen Sinn, mit Hilfe eines Makros Formeln in eine Liste zu schreiben.
Hallo,

Code:
Sub Formeln_einfuegen()
  With Tabelle1
    Range(.Cells(3, 12), .Cells(Rows.Count, 12).End(xlUp).Offset(-1)).Formula = "=If(A3>0,D3*E3,0)"
  End With
End Sub

Gruß Uwe
Hallo Klaus-Dieter,

vielen Dank für Deinen Tipp. Kannst Du mir in etwa sagen, wie ich die Berechnung direkt mit VBA erstellen könnte? - Hintergrund: ich bekomme jeden Monat eine Tabelle, in welcher in mehreren Spalten Formeln eingetragen werden müssen. Die Tabelle ist stets gleich aufgebaut, dadurch ließe sich das Makro sehr gut einsetzen. Formeln kann ich zwar von Hand eingeben und runterkopieren, - es verursacht eben immer einen Zeitaufwand, den ich mir gerne sparen würde. 


hallo Uwe,

kann die Lösung erst morgen testen und werde Dir dann berichten, bin aber guter Dinge, dass es klappt.  - Hätte ich die Lösung theoretisch auch mit meiner Vorgehensweise erreichen können? Bis zur Ermittlung der vorletzten Zeile hat der Code offensichtlich funktioniert. Nur nach der Eingabe des Strings tauchte dann der Fehler auf. 

Grüße und noch einen schönen Sonntag wünscht Euch

NobX
Hallo Uwe,

kurze Rückmeldung zu Deiner Lösung: klappt perfekt! - Danke!

Grüße

NobX