Formel per VBA in Zelle schreiben

Bild

Betrifft: Formel per VBA in Zelle schreiben
von: Andreas
Geschrieben am: 15.11.2015 19:17:40

Hallo Excelfreunde,
ich habe folgendes Problem.
Ich möchte per VBA eine Formel im aktiven Tabellenblatt in Zelle BA14, BB14, BC14 schreiben und diese bis zur letzten belegten Zelle in Spalte A runterkopieren.
Mit folgenden Makro kriege ich dies auch hin wenn in Zelle BA14, BB14, BC14 bereits die _ Formel steht.


Sub Aufruf_Formel_runter_Spalte()
   Formel_runter_Spalte ("Jan")
   Formel_runter_Spalte ("Feb")
   Formel_runter_Spalte ("Mär")
   Formel_runter_Spalte ("Apr")
   Formel_runter_Spalte ("Mai")
   Formel_runter_Spalte ("Jun")
   Formel_runter_Spalte ("Jul")
   Formel_runter_Spalte ("Aug")
   Formel_runter_Spalte ("Sep")
   Formel_runter_Spalte ("Okt")
   Formel_runter_Spalte ("Nov")
   Formel_runter_Spalte ("Dez")
End Sub

Sub Formel_runter_Spalte(WorkSheetName As String)
'Formel aus Spalte "" runterkopieren
Dim lngLetzte As Long 'letzte Zeile
With ActiveWorkbook.Worksheets(WorkSheetName)
'letzte Zeile auffinden:
lngLetzte = .UsedRange.Rows.Count + .UsedRange.Row - 1
'.Range(.Cells(14, 53).FormulaLocal="=WENN(B111="";"";(ZÄHLENWENN($J111:$AN111;"A"))+(ZÄ _
HLENWENN($J111:$AN111;"V")))"
'hier wird mir aber bei "A" der Fehler angezeigt ( _
wahscheinlich stimmt da etwas mit der Schreibweise in VBA nicht
'Formel aus Spalte BA runterkopieren:
.Range(.Cells(14, 53), .Cells(lngLetzte, 53)).Formula = .Cells(14, 53).Formula

'Alternativ Formel aus L2 runterkopieren (Falls Überschriften in 1. Zeile):
'.Range(.Cells(2, 12), .Cells(lngLetzte, 12)).Formula = .Cells(2, 12).Formula
End With
With ActiveWorkbook.Worksheets(WorkSheetName)
'letzte Zeile auffinden:
lngLetzte = .UsedRange.Rows.Count + .UsedRange.Row - 1
'Formel aus Spalte BB runterkopieren:
.Range(.Cells(14, 54), .Cells(lngLetzte, 53)).Formula = .Cells(14, 54).Formula

End With
With ActiveWorkbook.Worksheets(WorkSheetName)
'letzte Zeile auffinden:
lngLetzte = .UsedRange.Rows.Count + .UsedRange.Row - 1
'Formel aus Spalte BC runterkopieren:
.Range(.Cells(14, 55), .Cells(lngLetzte, 53)).Formula = .Cells(14, 55).Formula


End With
End Sub

Ich möchte aber die Formel per VBA in Zelle BA14, BB14, BC14 schreiben.
Beim Versuch die Formel in VBA Schreibweise zu ändern bekomme ich aber bei „A“ eine Fehlermeldung
Habe es mit folgender Codezeile probiert bringt mir aber bei „A“ einen Fehler
Cells(14, 53).FormulaLocal=“=WENN(B111="";"";(ZÄHLENWENN($J111:$AN111;"A"))+(ZÄHLENWENN($J111:$AN111;"V")))“
Folgende Formeln in der Tabelle sollen in VAB Schreibweise umgewandelt werden
Formel in Zelle BA14
=WENN(B111="";"";(ZÄHLENWENN($J111:$AN111;"A"))+(ZÄHLENWENN($J111:$AN111;"V")))
Formel in Zelle BB14
=WENN(C111="";"";(ZÄHLENWENN($J111:$AN111;"N"))+(ZÄHLENWENN($J111:$AN111;"K")) +(ZÄHLENWENN($J111:$AN111;"U")))
Formel in Zelle BC14
=WENN(Eingabe!F112="";"";Jan!H111-Jan!AO111)
Kann mir jemand dazu die Lösung geben, und wie muss ich das in meinen Code einbauen?
für Eure Hilfe und Unterstützung bedanke ich mich jetzt schon bereits
liebe Grüße Andreas

Bild

Betrifft: AW: Formel per VBA in Zelle schreiben
von: Daniel
Geschrieben am: 15.11.2015 19:52:28
HI
Das Anführungszeichen hat eine Doppelfunktion.
- es zeigt den Anfang und Ende eines Textes an.
- es ist Bestandteil eines Textes
um beide Verwendungen unterscheiden zu können, gibt man ein Anführungszeichen, welchs Bestandteil des Textes ist, immer doppelt ein:
.FormulaLocal="=WENN(B111="""";"""";(ZÄHLENWENN($J111:$AN111;"A"))+(ZÄHLENWENN($J111:$AN111;""V"")))"
Gruss Daniel

Bild

Betrifft: AW: Formel per VBA in Zelle schreiben
von: Andreas
Geschrieben am: 15.11.2015 20:32:49
Hallo Daniel,
Super das war was ich gesucht habe.
zwar hast du bei "A" noch zwei Anführungszeichen vergessen gehabt (""A"") hab's aber gleich gefunden.
Super Danke nochmals
liebe Grüße Andreas

Bild

Betrifft: AW: Formel per VBA in Zelle schreiben
von: Daniel
Geschrieben am: 15.11.2015 23:57:24
OK
Ich werde in Zukunft keine Beispiele mehr geben sondern nut noch das Prinzip erklären.

Bild

Betrifft: AW: Formel per VBA in Zelle schreiben
von: Frank H.
Geschrieben am: 16.11.2015 00:03:23
Hallo Daniel!
Sorry, das ich mich einmische, aber gar so garstig musst du darauf nicht reagieren. War doch sicherlich nicht böse gemeint!
Euch 'ne gute Nacht!
Gruß Frank H.

Bild

Betrifft: AW: Formel per VBA in Zelle schreiben
von: Daniel
Geschrieben am: 16.11.2015 00:05:06
Hi
Nein, nicht vergessen
So was baue ich manchmal extra ein, um zu prüfen ob der Fragesteller liest und versucht zu verstehen, oder ober er nur einfach copy-paste macht.
Gruß Dani

Bild

Betrifft: Wat'n nu? Anders überlegt...? ;-] Gruß owT
von: Luc:-?
Geschrieben am: 16.11.2015 02:09:15
:-?

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Formel per VBA in Zelle schreiben "