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

Fehler: Ungültige Verweis auf Next-Steuervariable

Forumthread: Fehler: Ungültige Verweis auf Next-Steuervariable

Fehler: Ungültige Verweis auf Next-Steuervariable
02.12.2003 10:25:52
ewald
Hallo zusammen,

im folgenden Makro sollen Spalten blockweise je 4 Spalten
in die Tabelle2 kopiert und transportiert (Spalten in Zeilen

tauschen) werden.


Sub t()
Dim zeile As Long
Dim spalte As Integer
Dim lZeile As Integer 'erste leere Zeile in Tabelle2
Dim TB2 As Worksheet
Set TB2 = Worksheets("Tabelle2")
Application.CutCopyMode = True
With ActiveSheet
zeile = .Range("A65536").End(xlUp).Row
For spalte = 2 To 17 Step 4
For lZeile = 1 To TB2.Cells(Rows.Count, 1).End(xlUp).Row + 1
.Range(.Cells(4, spalte), .Cells(zeile, spalte + 3)).Copy _
TB2.Range("A" & lZeile).PasteSpecial Paste:=xlAll, Operation:=
xlNone, SkipBlanks:=False _
, Transpose:=True
Next spalte
Next lZeile
End With
Application.CutCopyMode = False
End Sub


Nun bekomme ich eine Fehlermeldung: "Fehler bei Kompilieren
Ungültige Verweis auf Next-Steuervariable"

Was mache ich falsch?

Kann mir jamand helfen?

Vielen Dank im Voraus

Grüße
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler: Ungültige Verweis auf Next-Steuervariable
02.12.2003 10:39:48
FCH
Hi,

vertausche mal Next spalte mit Next lZeile

Gruß
FCH
AW: Fehler: Ungültige Verweis auf Next-Steuervariable
02.12.2003 11:02:12
ewald
Hallo FCH,

leider funktioniert es trodzdem nicht

Vielen Dank.

Grüße
noch offen
02.12.2003 11:14:05
FCH
Hi,

also die Schleife muss so laufen, ob dein Transponieren so hinhaut, hab ich jetzt nicht getestet.

Gruß
FCH
Anzeige
AW: noch offen
02.12.2003 11:17:05
Nike
Hi,
du versuchst nen 4 Spaltigen Bereich in eine Spalte zu kopieren,
das wird "eng" ;-)

Bye

Nike
AW: Leider funktion. nicht
02.12.2003 13:05:49
ewald
Hallo zusammen,

ich weiss nicht was ich falsch nmache, es fnkt. nicht

Grüße
AW: Makro funktioniert
02.12.2003 13:16:14
ewald
Hallo zusammen,

so funktioniert es:


Sub t()
Dim zeile As Long
Dim spalte As Integer
Dim lZeile As Integer 'erste leere Zeile in Tabelle2
Dim TB2 As Worksheet
Set TB2 = Worksheets("Tabelle2")
Application.CutCopyMode = True
With ActiveSheet
zeile = .Range("A65536").End(xlUp).Row
For spalte = 2 To 17 Step 4
.Range(.Cells(4, spalte), .Cells(zeile, spalte + 3)).Copy
lZeile = TB2.Cells(Rows.Count, 1).End(xlUp).Row + 1
TB2.Range("A" & lZeile).PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _
, Transpose:=True
Next spalte
End With
Application.CutCopyMode = False
End Sub


Vielen Dank.

Grüße
Anzeige
;
Anzeige

Infobox / Tutorial

Fehlerbehebung bei "Ungültiger Verweis auf Next-Steuervariable" in Excel VBA


Schritt-für-Schritt-Anleitung

Um das Problem mit dem "Ungültiger Verweis auf Next-Steuervariable" zu beheben, folge diesen Schritten:

  1. Öffne das VBA-Editor: Drücke ALT + F11 in Excel.
  2. Finde dein Makro: Suche im Projektfenster das entsprechende Makro.
  3. Überprüfe die Schleifen: Stelle sicher, dass jede Schleife (For...Next) korrekt geschlossen wird.
  4. Korrigiere den Code: Ändere die Position des Next-Befehls, damit er mit der richtigen Schleife übereinstimmt:
    For spalte = 2 To 17 Step 4
       ' Dein Code hier
    Next spalte
  5. Teste das Makro: Führe das Makro erneut aus, um zu überprüfen, ob der Fehler behoben ist.

Häufige Fehler und Lösungen

  1. Falsche Schleifenstruktur: Wenn Du mehrere Next-Befehle hast, stelle sicher, dass sie in der richtigen Reihenfolge stehen. Ein häufiges Problem ist, dass Next lZeile vor Next spalte steht.

  2. Kopieren von Bereichen: Achte darauf, dass Du nicht versuchst, einen breiten Bereich in eine einzige Zelle zu kopieren. Das führt oft zu Komplikationen.

  3. Fehlerhafte Zielbereiche: Vergewissere Dich, dass der Zielbereich in Tabelle2 korrekt angegeben ist. Bei falschen Zellenreferenzen kann es ebenfalls zu Fehlern kommen.


Alternative Methoden

Wenn das Problem weiterhin besteht, kannst Du auch folgende alternative Methoden ausprobieren:

  • Verwende eine andere Schleifenstruktur: Statt For...Next könntest Du auch Do While verwenden, um mehr Kontrolle über die Schleifen zu haben.

    Beispiel:

    Dim i As Long
    i = 2
    Do While i <= 17
       ' Deine Logik hier
       i = i + 4
    Loop
  • Nehme den Transpose-Befehl aus dem Makro: Teste zunächst, ob das Kopieren ohne Transponieren funktioniert. Füge Transpose erst wieder hinzu, wenn der Kopiervorgang ohne Fehler läuft.


Praktische Beispiele

Hier ist ein funktionierendes Beispiel eines Makros, das die Struktur des ursprünglichen Codes berücksichtigt:

Sub t()
    Dim zeile As Long
    Dim spalte As Integer
    Dim lZeile As Integer
    Dim TB2 As Worksheet
    Set TB2 = Worksheets("Tabelle2")
    With ActiveSheet
        zeile = .Range("A65536").End(xlUp).Row
        For spalte = 2 To 17 Step 4
            lZeile = TB2.Cells(Rows.Count, 1).End(xlUp).Row + 1
            .Range(.Cells(4, spalte), .Cells(zeile, spalte + 3)).Copy
            TB2.Range("A" & lZeile).PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
        Next spalte
    End With
End Sub

Tipps für Profis

  • Verwende Option Explicit: Dies zwingt Dich dazu, alle Variablen zu deklarieren und hilft, Tippfehler zu vermeiden.
  • Nutze Debugging: Verwende die Debugging-Funktionen im VBA-Editor, um Zeile für Zeile durch Deinen Code zu gehen und mögliche Fehlerquellen zu identifizieren.
  • Kommentiere Deinen Code: Halte Deinen Code leserlich, indem Du wichtige Schritte kommentierst. Das hilft nicht nur Dir, sondern auch anderen, die Deinen Code später lesen.

FAQ: Häufige Fragen

1. Was ist der Grund für den Fehler "Ungültiger Verweis auf Next-Steuervariable"? Der Fehler tritt auf, wenn die Struktur von Schleifen nicht korrekt ist, meist durch falsche Anordnung von Next-Befehlen.

2. Wie kann ich sicherstellen, dass mein Makro funktioniert? Überprüfe die Schleifenstruktur, teste den Code schrittweise und verwende Debugging-Tools im VBA-Editor.

3. Kann ich mit Excel-Formeln die gleiche Aufgabe erledigen? Ja, manchmal können Excel-Formeln die gleiche Funktionalität bieten, insbesondere bei einfacheren Aufgaben. Es kann jedoch weniger flexibel sein als VBA für komplexe Automatisierungen.

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