Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1676to1680
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Variable in Zelle als Formel eingeben

VBA Variable in Zelle als Formel eingeben
25.02.2019 14:54:50
RLehBecker
Hallo :)
Ich bin relativ neu im VBA, kann mich aber durch mein Ingenieursstudium recht gut mit dem Code auseinandersetzen.
Es hapert bei mir momentan daran, beim Erstellen eines neuen Tabellenblattes, einen Wert aus diesem neuen Tabellenblatt in mein sogenanntes "Hauptblatt" (Sheet(1)) zu übernehmen. Andersherum habe ich folgende Formel benutzt:
  • Sheets(intRisiko + 1).Range("M20").Formula = "=HAUPTBLATT!E" & intI - 1

  • Sheets(intRisiko+1) ist das neu erstellte Tabellenblatt auf das hier zugegriffen wird. Der Name wird über "Risiko" & intRisiko erstellt, das ist auch die Variable, die in der folgenden Formel nicht funktioniert.
  • Sheets(1).Range("D" & intI-1).Formula = "=Risiko" & intRisiko "!M18"

  • Vielen Dank für eure Hilfe!

    9
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: VBA Variable in Zelle als Formel eingeben
    25.02.2019 15:10:20
    Daniel
    Hi
    ist jetzt schwer zu sagen.
    was genau funktioniert denn nicht?
    in der Formel musst du den Namen des Tabellenblatts verwenden.
    um hier Tippfehler zu vermeiden, kannst du auch den Namen für die Formel auslesen:
    Sheets(1).Range("D" & intI-1).Formula ="='" & Sheets(intRisiko + 1).Name & "'!M18"
    
    (die Hochkommas werden benötigt, wenn der Tabellenblattname ein Sonderzeichen benötigt, dazu zählt aber schon ein einfaches Leerzeichen, daher sollte man die Hochkommas im Code immer verwenden, da sie nicht stören, wenn sie nicht benötigt werden)
    Gruß Daniel
    Anzeige
    AW: VBA Variable in Zelle als Formel eingeben
    25.02.2019 15:16:08
    RLehBecker
    Hallo Daniel,
    Danke für die schnelle Antwort, ich habe scheinbar einfach das zweite & Zeichen vergessen... Ein typischer Montag halt... :D
    Vielen Dank und liebe Grüße,
    Rike
    AW: VBA Variable in Zelle als Formel eingeben
    25.02.2019 15:18:58
    Daniel
    Hi
    stimmt.
    ich würde hier trotzdem den Blattnamen für die Formel über die Funktion ermitteln.
    dann brauchst du den Code an dieser Stelle nicht ändern, falls du den Blattnamen ändern willst.
    Gruß Daniel
    AW: VBA Variable in Zelle als Formel eingeben
    25.02.2019 15:20:32
    RLehBecker
    Nun möchte ich das ganze in eine WENN-Funktion umschreiben, damit der Wert im Hauptblatt nur übernommen wird, wenn er nicht leer ist. Wo liegt nun mein Fehler? Die Formel wird rot angemarkert...
    Sheets(intRisiko + 1).Range("M20").Formula = "=WENN(ISTLEER(HAUPTBLATT!C" & intI-1 & ");" ";HAUPTBLATT!C" & intI-1 & ")
    Liebe Grüße,
    Rike
    Anzeige
    AW: Primär fehlt ein " am Ende, ...
    25.02.2019 15:57:45
    RLehBecker
    Hallo Luc,
    Danke für deine Antwort.
    Ich bekomme leider immer noch diesen Fehler:
    Erwartet:Anweisungsende
    Meine korrigierte Formel lautet:
    Sheets(intRisiko + 1).Range("M20").FormulaLocal = "=WENN(ISTLEER(HAUPTBLATT!C" & intI-1 & ");" ";HAUPTBLATT!C" & intI-1 & ")"
    Liebe Grüße,
    Rike
    Anzeige
    AW: Primär fehlt ein " am Ende, ...
    25.02.2019 16:02:28
    Daniel
    Sieht so aus als wenn hier noch was fehlt:
    ");" ";HAUPTBLATT!C"
    Entweder ein & oder noch ein ""
    Gruß
    Daniel
    AW: Primär fehlt ein " am Ende, ...
    25.02.2019 16:19:36
    RLehBecker
    Ah Super!
    Das wars! :)
    Vielen Dank für dieses tolle Forum! Ganz ganz viele vorige Beiträge haben mir schon als anonymer Mitleser geholfen! ;)
    Liebe Grüße,
    Rike
    AW: Primär fehlt ein " am Ende, ...
    25.02.2019 16:31:28
    Daniel
    Hi
    generell würde ich bei dieser Aufgabenstellung so vorgehen:
    1. Formel ganz normal funktionierend in die Zelle schreiben
    2. im Direktfenster den Formeltext in der gewünschten Schreibweise (.Formula/.FormulaLocal/.FormulaR1C1) anzeigen lassen (falls mit Texten gearbeitet wird, gleich mit gedoppelten Anführungszeichen)
    ?Replace(Selection.FormulaR1C1, """", """""")
    

    3. Formel vom Direktenster in den Code kopieren
    4. die gewünschten Formelteile (z.B. die Zeilennummern) durch die Variable ersetzen, hierbei sollte man sich das ganze auch im Direktfenster hinschreiben und mit Copy-Paste arbeiten um dann z.b 10 durch " & intVarX & " zu ersetzen.
    dann behält man besser den Überblick.
    Gruß Daniel
    Anzeige

    352 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige