Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Wert aus Textbox über VBA ín eine Formel eingeben

Wert aus Textbox über VBA ín eine Formel eingeben
Jens
Hallo Kollegen,
wie kann ich in eine Formel einen Wert aus einer Textbox einfügen mit dem nachher auch gerechnet wird.
Formel:
='FSV1'!L33
Dabei möchte ich 'FSV1' über Textbox einfügen.
Kann mir da jemand helfen?
Danke
Gruß Jens
Anzeige
AW: Wert aus Textbox über VBA ín eine Formel eingeben
Hans
Hallo Jens,
wie folgt:
Range("A1").Formula = "=" & TextBox1.Text & "!L33"
Gruss hans
AW: Wert aus Textbox über VBA ín eine Formel eingeben
Jens
Hallo, vielen Dank für deine Hilfe.
Leider bekomme ich das Ergebnis Falsch.
Hier die ausführliche Formel, ist da vielleicht nich etwas falsch?
ActiveCell.FormulaR1C1 = "=IF(R[0]C[-9]=0,"" ""," = " & tb_namev.Text & !R[-10]C[-22]+1)"
Anzeige
AW: Wert aus Textbox über VBA ín eine Formel eingeben
Hans
... da ist in der Tat was falsch. Richtig:
ActiveCell.FormulaR1C1 = "=IF(R[0]C[-9]=0,"" ""," & tb_namev.Text & "!R[-10]C[-22]+1)"
Gruss hans
AW: Wert aus Textbox über VBA ín eine Formel eingeben
Jens
Jetzt fehlt nicht meh viel!
In der Formel werden die ' nicht eingetragen:
Soll: =WENN(B19=0;"";'FSV Blatt4'!L33+1)
Ist: =WENN(B19=0;"";FSV Blatt4!L33+1)
ActiveCell.FormulaR1C1 = "=IF(RC[-10]=0,""""," & tb_namev.Text & "!R[14]C+1)"
Wie kann ich die ' in der Formel noch eintragen?
Anzeige
AW: Wert aus Textbox über VBA ín eine Formel eingeben
Hans
... wo liegt das Problem? Einfach nur hinter das letzte Komma und vor das Ausrufezeichen ... hans
AW: Wert aus Textbox über VBA ín eine Formel eingeben
01.05.2004 11:13:14
Jens
Danke, schönes Wochenende und noch einen schönen Feiertag
AW: Wert aus Textbox über VBA ín eine Formel eingeben
01.05.2004 10:11:45
Jens
Hallo, vielen Dank für deine Hilfe.
Leider bekomme ich das Ergebnis Falsch.
Hier die ausführliche Formel, ist da vielleicht nich etwas falsch?
ActiveCell.FormulaR1C1 = "=IF(R[0]C[-9]=0,"" ""," = " & tb_namev.Text & !R[-10]C[-22]+1)"
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

Wert aus Textbox über VBA in eine Formel eingeben


Schritt-für-Schritt-Anleitung

Um einen Wert aus einer Textbox in eine Excel-Formel einzufügen, kannst du folgenden VBA-Code verwenden:

  1. Öffne den VBA-Editor (Alt + F11).

  2. Füge eine neue UserForm hinzu und platziere eine TextBox (z.B. TextBox1) und einen Button (z.B. Button1).

  3. Füge den folgenden Code in das Click-Ereignis des Buttons ein:

    Private Sub Button1_Click()
       ActiveCell.FormulaR1C1 = "=" & TextBox1.Text & "!L33"
    End Sub
  4. Starte die UserForm und gib den gewünschten Blattnamen in die TextBox ein.

  5. Klicke auf den Button, um die Formel in die aktive Zelle einzufügen.


Häufige Fehler und Lösungen

  1. Fehlerhafte Formelsyntax: Wenn du die Formel eingibst, achte darauf, dass die Syntax korrekt ist. Zum Beispiel, wenn du versuchst, eine Formel wie =IF(RC[-10]=0,"""", 'FSV Blatt4'!L33+1) einzugeben, stelle sicher, dass die Anführungszeichen und die Apostrophe korrekt gesetzt sind.

  2. Zielzelle ist nicht aktiv: Vergewissere dich, dass die Zelle, in die die Formel eingefügt werden soll, aktiv ist. Andernfalls wird die Formel nicht dort platziert, wo du es erwartest.

  3. VBA-Textbox nicht gefunden: Wenn du TextBox1 in deinem Code verwendest, stelle sicher, dass der Name der TextBox genau übereinstimmt mit dem Namen, den du in der UserForm vergeben hast.


Alternative Methoden

Wenn du die Eingabe eines Wertes in eine Formel ohne VBA durchführen möchtest, kannst du auch eine Zelle als Eingabefeld nutzen. Gib den Blattnamen in eine Zelle ein und verwende dann eine Formel wie:

=INDIREKT(A1 & "!L33")

Hierbei steht A1 für die Zelle, in der der Blattname eingegeben ist. Diese Methode erfordert kein VBA und ist ideal für einfachere Anwendungen.


Praktische Beispiele

  1. Einfügen einer einfachen Formel:

    Wenn du TextBox1 verwendest, um den Blattnamen einzugeben, kannst du die Formel wie folgt erstellen:

    ActiveCell.FormulaR1C1 = "=IF(RC[-10]=0,""""," & TextBox1.Text & "!R[14]C+1)"
  2. Behandlung von Apostrophen:

    Um Apostrophe in die Formel einzufügen, kannst du den Code so anpassen:

    ActiveCell.FormulaR1C1 = "=IF(RC[-10]=0,""""," & "'" & TextBox1.Text & "'" & "!R[14]C+1)"

Tipps für Profis

  • Verwende Application.InputBox für eine Benutzerfreundliche Eingabe: Anstelle einer TextBox in einer UserForm kannst du Application.InputBox verwenden, um den Nutzern zu ermöglichen, den Blattnamen direkt einzugeben.

    Dim BlattName As String
    BlattName = Application.InputBox("Gib den Blattnamen ein:", Type:=2)
    ActiveCell.FormulaR1C1 = "=" & "'" & BlattName & "'!L33"
  • Eingabefelder formatieren: Achte darauf, dass die TextBox im VBA-Editor gut sichtbar ist und die Eingabeformate klar definiert sind, um Fehlinterpretationen zu vermeiden.


FAQ: Häufige Fragen

1. Wie kann ich das VBA-Eingabefeld anpassen? Du kannst das Aussehen der TextBox im Eigenschaftenfenster des VBA-Editors anpassen, indem du verschiedene Eigenschaften wie Width, Height und Font änderst.

2. Was mache ich, wenn der Blattname Leerzeichen enthält? Um sicherzustellen, dass der Blattname mit Leerzeichen korrekt verarbeitet wird, umschließe ihn in Apostrophen. Zum Beispiel: "'Blattname mit Leerzeichen'".

3. Wie kann ich mehrere TextBoxen verwenden? Du kannst mehrere TextBoxen in deiner UserForm hinzufügen, indem du jeweils einen neuen TextBox-Steuerelement hinzufügst und im Click-Ereignis des Buttons entsprechend darauf zugreifst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige