VBA - Text mit Zeilenumbruch und Formel mit Variabel per VBA
#1
Hallo zusammen,

mein Ziel ist es per VBA in die Zelle AM1 zwei Textzeilen zu schreiben und dann nach einem weiteren Zeilenumbruch das Ergebnis aus Teilergebnis(9;AM2:AM748) gefolgt von einem Eurozeichen abzubilden. Das Formelergebnis als solches soll natürlich sich bei Filterung oder Wert Änderung ändern.

Folgender Code funktioniert und liefert das richtige Ergebnis:
Range("AM1").Formula = "=""Diff. zu"" & CHAR(10) & ""Fracht:"" & CHAR(10) & SUBTOTAL(9,AM2:AM748) & "" €""  "

Ich möchte aber die 748 durch meine deffinierte Long-Variable "Ende" ersetzen, die im Endeffekt der letzten benutzten Zeilen-Nummer entspricht.
Meine Idee war:

Range("AM1").Formula = "=""Differenz"" & CHAR(10) & ""Frachtergebnis"" & CHAR(10) & "SUBTOTAL(9,AM2:AM"  & Ende & ")" & "" €""  "

Das gibt aber nur die Fehlermeldung: Fehler beim Kompilieren: Syntaxfehler

Hat jemand eine Idee, wo mein Denkfehler ist? :s

Vielen Dank und viele Grüße
Kai
Top
#2
Hi,

ungetestet:


Code:
Range("AM1").Formula = "=""""Differenz" & CHAR(10) & "Frachtergebnis""" & CHAR(10) & "SUBTOTAL(9,AM2:AM" & Ende & ")" & """ €"""
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
[-] Folgende(r) 1 Nutzer sagt Danke an BoskoBiati für diesen Beitrag:
  • Kai_
Top
#3
Leider nein.

Er markiert das erste CHAR(10) und sagt "Sub oder Function" nicht definiert.

Gruß
Kai
Top
#4
Hi,

dann versuche mal das:

Code:
Range("AM1").Formula = "=""""Differenz&Zeichen(10)&Frachtergebnis&zeichen(10)&SUBTOTAL(9,AM2:AM" & Ende & ")" & """ €"""
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Top
#5
Hi,

das gibt einen "Anwendungs- oder Objektbasiertenlaufzeitfehler".

Habe nun dieses WorkAround mir gebaut:

Code:
Range("AM1").Formula = "=""Diff. zu"" & CHAR(10) & ""Fracht:"" & CHAR(10) & SUBTOTAL(9,AM2:AM748) & "" €""  "
Range("AM1").Replace "748", Ende, xlPart

Etwas "unschön", aber funktioniert.
Danke für deine Hilfe!
Top
#6
Hi,


Code:
Range("AM1").FormulaLocal = "=""Differenz""&ZEICHEN(10)&""Frachtergebnis""&ZEICHEN(10)&Teilergebnis(9;AM2:AM" & Ende  & ")&"" €"""
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
[-] Folgende(r) 1 Nutzer sagt Danke an BoskoBiati für diesen Beitrag:
  • Kai_
Top
#7
Das klappt!
Danke! :)
Top


Gehe zu:


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