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

Forumthread: Formel mit Schleife

Formel mit Schleife
Joseffranz
Hallo,
VBA bringt bei nachfolgenden Code die Fehlermeldung Anweisungsende fehlt. Wenn ich anstelle i eine Zahl einfüge, funktioniert es problemlos.
Was muß ich ändern?
Dim i As Integer
For i = 103 To 205
Tabelle1.Cells(2, i).FormulaLocal = "=SVERWEIS($A2;'DB1'!$A$2:$GV$436;"&i&";FALSCH)"
Next i
vielen Dank und Grüsse
Josef
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Leerzeichen..
10.10.2010 17:43:50
CitizenX
Hallo Josef,
es fehlten die Leerzeichen zwischen dem & i &:
Sheets("Tabelle1").Cells(2, i).FormulaLocal = "=SVERWEIS($A2;'DB1'!$A$2:$GV$436;" & i & ";FALSCH)"
Grüße
Steffen
AW: Leerzeichen..
10.10.2010 18:07:42
Joseffranz
Hallo Steffen,
funktioniert bestens.
Ich dachte bisher dass VBA, wenn erforderlich, Leerzeichen selbst einfügt.
Danke
Josef
Anzeige
AW: Leerzeichen bei &
10.10.2010 20:15:14
Daniel
Hi
jein.
VBA macht das oft, aber nicht immer.
das &-Zeichen wird in VBA noch für andere Zwecke verwendet, z.B. um eine Variable oder eine Zahl ein bestimmten Typ (Long, Double, ...) zuzuweisen.
in welcher Funktion das & verwendet werden soll, definiert der Programmierer, in dem er entweder das & durch Leerzeichen absetzt (Strings verbinden) oder direkt vor den Variablennamen schreibt. (Variablentyp)
daher kann das Leerzeichen in diesem Fall nicht automatisch eingefügt werden.
Gruß, Daniel
Anzeige
AW: Formel mit Schleife
10.10.2010 17:45:13
Tino
Hallo,
mach mal überall noch ein Leerzeichen mit rein bei Deiner Variable.
Tabelle1.Cells(2, i).FormulaLocal = "=SVERWEIS($A2;'DB1'!$A$2:$GV$436;" & i & ";FALSCH)"

Gruß Tino
;
Anzeige
Anzeige

Infobox / Tutorial

Excel-Schleifen mit Formeln richtig anwenden


Schritt-für-Schritt-Anleitung

  1. VBA Editor öffnen: Drücke ALT + F11, um den VBA-Editor in Excel zu öffnen.

  2. Modul hinzufügen: Klicke mit der rechten Maustaste auf "VBAProject (dein Dokument)" und wähle Einfügen > Modul.

  3. Code eingeben: Füge den folgenden Code in das Modul ein:

    Sub FormelMitSchleife()
       Dim i As Integer
       For i = 103 To 205
           Tabelle1.Cells(2, i).FormulaLocal = "=SVERWEIS($A2;'DB1'!$A$2:$GV$436;" & i & ";FALSCH)"
       Next i
    End Sub
  4. Leerzeichen beachten: Achte darauf, dass zwischen dem & und der Variablen i ein Leerzeichen ist, um die Fehlermeldung "Anweisungsende fehlt" zu vermeiden.

  5. Makro ausführen: Schließe den VBA-Editor und führe das Makro über Entwicklertools > Makros aus.


Häufige Fehler und Lösungen

  • Fehlermeldung "Anweisungsende fehlt": Dies tritt auf, wenn Leerzeichen zwischen dem & und der Variablen fehlen. Achte darauf, dass dein Code wie folgt aussieht:

    Tabelle1.Cells(2, i).FormulaLocal = "=SVERWEIS($A2;'DB1'!$A$2:$GV$436;" & i & ";FALSCH)"
  • Ergebnis wird nicht angezeigt: Vergewissere dich, dass die Daten in der 'DB1'-Tabelle korrekt sind und dass der Datenbereich A2:GV436 gültig ist.


Alternative Methoden

Wenn Du keine VBA-Programmierung nutzen möchtest, kannst Du auch Excel-Funktionen verwenden, um ähnliche Ergebnisse zu erzielen. Eine Möglichkeit ist die Verwendung von ARRAYFORMULA in Google Sheets oder das Erstellen dynamischer Arrays in Excel 365.

=SVERWEIS($A2;DB1!$A$2:$GV$436;SPALTE(A1);FALSCH)

Hier kannst Du die SPALTE(A1)-Funktion verwenden, um die Spaltennummer dynamisch zu erhalten.


Praktische Beispiele

  1. Einfaches Beispiel: Setze den SVERWEIS in Zelle B2 ein, um Daten aus einer anderen Tabelle zu ziehen. Wenn Du die Schleife in VBA anwendest, wird dies für mehrere Zellen automatisiert.

  2. Datenüberprüfung: Verwende die Schleife, um sicherzustellen, dass Du für alle relevanten Zellen eine Formel anwendest, z.B. für die Zellen B2 bis B100.


Tipps für Profis

  • Debugging in VBA: Nutze die Debug.Print-Anweisung, um den Wert von i während der Schleife anzuzeigen. So kannst Du überprüfen, ob die Schleifen korrekt durchlaufen werden:

    Debug.Print i
  • Verwende Named Ranges: Anstatt feste Zellreferenzen zu verwenden, kannst Du benannte Bereiche einfügen. Das macht deine Formeln flexibler und leichter zu warten.


FAQ: Häufige Fragen

1. Wie kann ich die Schleife in Excel anpassen, um mehr Zellen zu berücksichtigen? Du kannst die Schleife anpassen, indem Du die Werte in der For i = ... To ...-Anweisung änderst. Zum Beispiel For i = 1 To 300.

2. Gibt es eine Möglichkeit, Schleifen in Excel ohne VBA zu verwenden? Ja, Du kannst Array-Formeln oder dynamische Arrays in Excel verwenden, um ähnliche Ergebnisse zu erzielen, ohne VBA zu benötigen. Experimentiere mit Funktionen wie INDEX, VERGLEICH oder SVERWEIS.

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