VBA Formel in Code
#1
Hey Leute,

ich möchte per VBA eine Formel in eine Zelle auf einem Arbeitsblatt schreiben. 

Zitat:Public Sub SchreibeFormel()
 Dim oBlatt As Worksheet
 Set oBlatt = ThisWorkbook.Worksheets("Blatt1")
 With oBlatt
  .Range("AD2").FormulaLocal = "=verketten(F2&" "&H2)"
 End With
 Set oBlatt = Nothing
End Sub

In der Spalte mit der Formel meckert er aber und sagt, dass er das Anweisungsende erwartet. 
Was mache ich falsch? Bzw. was muss ich machen damit es funktioniert?

Ich verkette zwei Werte aus dem Arbeitsblatt und möchte dazwischen ein Leerzeichen.

Das Problem ist das Leerzeichen dazwischen - ich weiß aber nicht wie ich das in VBA abbilden muss damit es funktioniert. In eckige Klammern?
Top
#2
Hallo, :19:

Hochkommas innerhalb müssen gedoppelt werden:

Code:
.Range("AD2").FormulaLocal = "=verketten(F2&"" ""&H2)"
[-] Folgende(r) 1 Nutzer sagt Danke an Gast für diesen Beitrag:
  • StrammerMax
Top
#3
Excel-VBA für Dummies: Amazon.de: John Walkenbach, Judith Muhr: Bücher
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
[-] Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:
  • StrammerMax
Top
#4
Vielen Dank Case.

Hat sich erledigt.
Top
#5
Hallo, :19:

das "FillDown" brauchst du nicht.

Entweder bei festem Wert...

Code:
.Range("AD2:AD13").FormulaLocal = "=verketten(F2&"" ""&H2)"

... oder bezogen auf die Eintragslänge in Spalte H...

Code:
.Range("AD2:AD" & .Cells(.Rows.Count, 8).End(xlUp).Row).FormulaLocal = "=verketten(F2&"" ""&H2)"
[-] Folgende(r) 1 Nutzer sagt Danke an Gast für diesen Beitrag:
  • StrammerMax
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste