Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Formel in VBA mit Leerzeichen

Formel in VBA mit Leerzeichen
28.07.2021 19:41:53
Rene
Hallo,
ich schlage mich seit einigen Stunden mit einem Problem bei einem Makro rum und komme einfach nicht weiter.
Ich habe eine Mappe mit 10 Arbeitsblättern. Diese sind, bis auf einige Kleinigkeiten, identisch. Nun habe ich mir ein Makro gebaut, welches bei einem Klick auf einen Button sämtliche Felder in allen Arbeitsblättern zurücksetzen soll. Das ganze funktioniert auch soweit.
Nun gibt es aber einige Spalten, z.B. E10 bis E40, welche nur dann mit einem Vorgabewert belegt werden, wenn in den Spalten D10 bis D40 zuvor ein Wert berechnet wurde. Wenn das nicht der Fall ist, dann sollen die entsprechenden Zellen unter E leer bleiben.
Dafür habe ich nun folgendes gebaut:
Im Arbeitsblatt selber habe ich folgende Formel, die auch problemlos funktioniert:

=WENN(D12"";"1";"")
Im Makro habe ich dann:

For Zeile = 10 To 40
Cells(Zeile, 5).FormulaLocal = "=WENN(D" & Zeile & " ;1;)"
Next Zeile
Und das scheitert an dem Leerzeichen hinter den . Und am Ende müsste dann ja auch ein Leerzeichen entsprechend ausgegeben werden. Es muss aber geprüft werden, ob z.B. die Zelle D12 leer ist. Ist dies der Fall, muss E12 auch leer bleiben. Nur wenn z.B. in D12 ein Wert steht, dann soll in E12 eine 1 vorgegeben werden.
Im Grunde würde die Formel im Arbeitsblatt ja ausreichen, diese wird ja beim zurücksetzen nicht entfernt. Allerdings hat man bei der Eingabe die Möglichkeit z.B. in Feld E12, wo ja die 1 eingetragen wurde, auch z.B. eine 3 nachzutragen. Dadurch wird dann aber die Formel entfernt und fehlt somit dann auch nach dem Zurücksetzen.
Ich hoffe mal, dass ihr meine Laienhafte Beschreibung annähernd versteht :)
Ich bedanke mich schon mal im Voraus für die Hilfe.
Gruß
Rene
Anzeige

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel in VBA mit Leerzeichen
28.07.2021 19:45:20
Hajo_Zi
Hallo Rene,
Cells(Zeile, 5).FormulaLocal = "=WENN(D" & Zeile & " """";1;)"
GrußformelHomepage
Anzeige
AW: Formel in VBA mit Leerzeichen
28.07.2021 19:59:57
Rene
Hallo Hajo,
genau das war es. Vielen Dank!
Gruß
Rene
AW: Formel in VBA mit Leerzeichen
28.07.2021 19:48:27
ralf_b
nimm deine Formel mal mit dem Makrorecorder auf.
AW: Formel in VBA mit Leerzeichen
28.07.2021 20:01:21
Rene
Hallo Ralf,
da kommt bei mir dann

Range("E15").Select
ActiveCell.FormulaR1C1 = "1"
bei raus. Oder habe ich das jetzt falsch verstanden?
Gruß
Rene
Anzeige
AW: Formel in VBA mit Leerzeichen
28.07.2021 20:04:05
Daniel
Du solltest das eingeben der Formel mit dem Recorder aufzeichnen!
Gruß Daniel
AW: Formel in VBA mit Leerzeichen
28.07.2021 20:08:35
ralf_b
die wenn formel ergibt im rekorder dies

ActiveCell.FormulaR1C1 = "=IF(R[10]C[1]"""",""1"","""")"
hier zeigt sich wie Anführungsstriche in Formeln gehandhabt werden.
Anzeige
soory daniel , bin verrutscht owt
28.07.2021 20:10:15
ralf_b
AW: Formel in VBA mit Leerzeichen
28.07.2021 20:21:12
Rene
Wieder was dazu gelernt. Danke für die Hilfe.
AW: Formel in VBA mit Leerzeichen
28.07.2021 20:42:14
Hajo_Zi
Du trägst also Text in die Zelle ein, der aussieht wie eine Zahl.
Gruß Hajo
Anzeige
AW: Formel in VBA mit Leerzeichen
28.07.2021 21:44:35
Rene
Das ganze braucht sicher noch Feinschliff. Ist nur eine Mappe die recht schnell fertig werden muss. Da später auch noch Berechnungen mit rein kommen sollen, werde ich das dann schon deswegen noch ändern müssen. Aber im Moment soll es erstmal nur einen Zweck erfüllen.
Gruß
Rene
AW: Formel in VBA mit Leerzeichen
28.07.2021 20:19:40
Rene
Wusste doch das ich das falsch verstanden habe :)
Gruß
Rene
Anzeige
AW: Formel in VBA mit Leerzeichen
28.07.2021 20:08:39
GerdL
Moin

Range("E10:E40").FormulaLocal = "=WENN(D10"""";1;"""")"
Gruß Gerd
AW: Formel in VBA mit Leerzeichen
28.07.2021 20:08:51
GerdL
Moin

Range("E10:E40").FormulaLocal = "=WENN(D10"""";1;"""")"
Gruß Gerd
AW: Formel in VBA mit Leerzeichen
28.07.2021 20:24:46
Rene
Sowas in diese Richtung hatte ich schon. Halt ohne die Leerzeichen, hatte da nur 1;2;3 eingetragen zum testen. Da stand dann aber das

=WENN(D101;2;3)"
in jeder Zeile drin. Werde das aber morgen nochmal ausprobieren. Wird bestimmt ein anderer Fehler gewesen sein den ich mir da eingebaut hatte.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

VBA-Formel mit Leerzeichen in Excel einfügen


Schritt-für-Schritt-Anleitung

Um eine Formel mit Leerzeichen in Excel über VBA einzufügen, folge diesen Schritten:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Erstelle ein neues Modul:

    • Klicke mit der rechten Maustaste auf den Projektbaum und wähle Einfügen > Modul.
  3. Füge den folgenden Code ein:

    Sub LeerzeichenInFormelEinfügen()
       Dim Zeile As Integer
       For Zeile = 10 To 40
           Cells(Zeile, 5).FormulaLocal = "=WENN(D" & Zeile & """<>"""";1;"""")"
       Next Zeile
    End Sub
  4. Führe das Makro aus:

    • Schließe den VBA-Editor und gehe zurück zu Excel. Drücke ALT + F8, wähle das Makro aus und klicke auf Ausführen.

Häufige Fehler und Lösungen

  • Problem: Fehlende Leerzeichen in der Formel.

    • Lösung: Stelle sicher, dass Du die korrekten Anführungszeichen verwendest, wie im Beispiel oben.
  • Problem: Die letzte gefüllte Zelle einer Spalte wird nicht erkannt.

    • Lösung: Verwende die End(xlUp)-Methode, um die letzte gefüllte Zelle zu finden.

Alternative Methoden

  • Formel über den Makrorecorder:

    • Du kannst den Makrorecorder verwenden, um eine Formel direkt in eine Zelle einzufügen. Dies zeigt Dir, wie Anführungszeichen und Leerzeichen in Formeln behandelt werden.
  • Direktes Eingeben in Zelle:

    • Wenn Du eine einfache Formel ohne VBA erstellen möchtest, kannst Du sie direkt in die Zelle eingeben, z.B. =WENN(D10<>"";1;"").

Praktische Beispiele

  1. Formel mit Leerzeichen einfügen:

    Range("E10:E40").FormulaLocal = "=WENN(D10<>"""";1;"""")"
  2. Verketten mit Leerzeichen: Um Text oder Werte mit Leerzeichen zu verketten, kannst Du folgende Formel verwenden:

    Cells(Zeile, 6).FormulaLocal = "=VERKETTEN(A" & Zeile & ";"" "";B" & Zeile & ")"

Tipps für Profis

  • Achte darauf, dass Du beim Einfügen von Formeln über VBA die regionalen Einstellungen berücksichtigst. In einigen Ländern werden Semikolons (;) anstelle von Kommas (,) verwendet.

  • Verwende das FormulaR1C1-Format, wenn Du relative Adressierung bevorzugst. Das kann den Umgang mit Leerzeichen in Formeln vereinfachen.


FAQ: Häufige Fragen

1. Wie füge ich Leerzeichen in eine Excel-Formel ein? Du kannst Leerzeichen in Formeln einfügen, indem Du Anführungszeichen ("") in Deiner Formel verwendest, z.B. =WENN(D10<>"";1;"").

2. Was tun, wenn die Formel nicht richtig funktioniert? Überprüfe Deine Anführungszeichen und die Syntax der Formel. Eventuell hilft es, die Formel zuerst in Excel zu testen, bevor Du sie in VBA verwendest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige