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

Forumthread: Fehler 2023

Fehler 2023
09.02.2009 15:05:00
Björn
Hallo zusammen,
ich bekomme bei nachfolgendem Code einen Fehler 2023 in der rng Variable.
Kann mir jemand weiterhelfen was da falsch läuft!

Sub Übertrag()
Dim i, Row_Pos, Col_Pos  as Integer
Dim Suche, rng as Variant
For i = 1 To 200
Cells(702, 1) = Cells(703 + i, 1)
For Each rng In [C702:DF2200]
Suche = Cells(702, 2)
If rng.Value = Suche Then
Row_Pos = rng.Row
Col_Pos = rng.Column
Cells(Row_Pos, Col_Pos - 1).Value = "FzgCode"
Cells(Row_Pos + 1, Col_Pos - 1).Value = "WartungGr"
Cells(Row_Pos + 1, Col_Pos).Value = Cells(702, 125)
Cells(Row_Pos + 2, Col_Pos - 1).Value = "RwGr"
Cells(Row_Pos + 2, Col_Pos).Value = Cells(702, 158)
Cells(Row_Pos + 3, Col_Pos - 1).Value = "AnPaGr"
Cells(Row_Pos + 3, Col_Pos).Value = Cells(702, 192)
Cells(Row_Pos + 4, Col_Pos - 1).Value = "FzgGr"
Cells(Row_Pos + 4, Col_Pos).Value = Cells(702, 205)
GoTo Sprungmarke1
End If
Next rng
Sprungmarke1:
Next i
End Sub


Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Fehler 2023
09.02.2009 15:34:00
Hajo_Zi
Hallo Björn,
mit Sprungmarken arbeitet man eigentlich nich. bei GoTo reicht auch Exit For.
Vielleicht steht eine Fehlermeldung in der Zelle?

AW: Fehler 2023
09.02.2009 16:50:53
Björn
Hallo Hajo,
jo es stand in einer Zelle Bezug.
Das war es.
Danke für den Tip mit exit for.
Grüße
Björn
Anzeige
AW: Fehler 2023
09.02.2009 15:42:31
Luschi
Hallo Björn,
in diesem Link sind einige wichtige Vba-Fehler-Nummern beschrieben:
http://bert-koern.de/buch/382731979Xbsp.pdf
2023 - Bezugsfehler ('#Bezug!' bzw. '#Ref!')
Das heißt, in irgeneiner Zelle deren Wert Du kopieren willst, steht #Bezug!; in welcher, mußt Du selbst herauskriegen.
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Fehler 2023
09.02.2009 16:49:00
Björn
Hallo Luschi,
genau das war es. Manchmal sind doch die kleinsten Übeltäter die die am meisten Ärger machen.
:)
Lieben Dank Dir
;
Anzeige
Anzeige

Infobox / Tutorial

Fehler 2023 in Excel VBA lösen


Schritt-für-Schritt-Anleitung

  1. Überprüfe die Zellen: Der Fehler 2023 tritt häufig auf, wenn eine Zelle einen Bezug enthält, der nicht aufgelöst werden kann. Überprüfe, ob in den Zellen, die Du in Deinem VBA-Code verwendest, Werte wie #Bezug! oder #Ref! vorhanden sind.

  2. Anpassung des Codes: Ändere Deinen Code, um zu vermeiden, dass Du mit GoTo arbeitest. Stattdessen kannst Du Exit For verwenden, um die Schleife zu verlassen, wenn der Fehler auftritt.

    Beispiel:

    For Each rng In [C702:DF2200]
       If rng.Value = Suche Then
           ' Dein Code hier
           Exit For
       End If
    Next rng
  3. Überprüfe die rng Variable: Stelle sicher, dass die rng Variable korrekt deklariert ist und keine unerwarteten Werte enthält. Die Verwendung von Variant kann in einigen Fällen problematisch sein.

  4. Fehlermeldungen behandeln: Implementiere eine Fehlerbehandlung in Deinem Code, um den Fehler 2023 besser zu identifizieren und zu verwalten.


Häufige Fehler und Lösungen

  • Fehler 2023: Dieser Fehler tritt auf, wenn es einen Bezugsfehler in Deinen Excel-Zellen gibt. Überprüfe alle betroffenen Zellen auf #Bezug!.

  • GoTo Verwendung: Die Verwendung von GoTo kann den Code kompliziert machen. Stattdessen ist es ratsam, logische Strukturen wie If...Then oder Schleifen zu nutzen.


Alternative Methoden

  • Verwendung von Application.Match: Anstatt eine Schleife zu verwenden, kannst Du Application.Match verwenden, um den Wert zu suchen. Dies kann den Code vereinfachen und die Performance verbessern.

    Beispiel:

    Dim matchRow As Variant
    matchRow = Application.Match(Suche, Range("C702:DF2200"), 0)
    If Not IsError(matchRow) Then
       ' Dein Code hier
    End If
  • Excel 2023 Funktionen: Wenn Du Excel 2023 verwendest, kannst Du auch die neuen Funktionen wie XLOOKUP oder FILTER nutzen, um effizienter Daten zu suchen.


Praktische Beispiele

  1. Beispiel für die Fehlersuche:

    Sub FehlerBehebung()
       On Error Resume Next
       ' Dein Code hier
       If Err.Number = 2023 Then
           MsgBox "Es gibt einen Bezugsfehler in den Zellen."
       End If
       On Error GoTo 0
    End Sub
  2. Nutzung von rng in einer Schleife:

    Sub BeispielMitRng()
       Dim rng As Range
       For Each rng In Range("C702:DF2200")
           If rng.Value = "Test" Then
               rng.Offset(0, 1).Value = "Gefunden"
           End If
       Next rng
    End Sub

Tipps für Profis

  • Code modularisieren: Teile Deinen Code in kleinere, wiederverwendbare Subroutinen auf. Dies erleichtert das Debuggen und die Wartung.

  • Verwendung von Option Explicit: Setze am Anfang Deiner Module Option Explicit, um sicherzustellen, dass alle Variablen deklariert sind. Dies hilft, Fehler zu vermeiden.

  • Regelmäßige Backups: Stelle sicher, dass Du regelmäßig Sicherungskopien Deiner Excel-Dateien machst, um Datenverlust bei Fehlern zu vermeiden.


FAQ: Häufige Fragen

1. Was bedeutet der Fehler 2023?
Der Fehler 2023 in Excel VBA weist auf einen Bezugsfehler hin, wenn eine Zelle einen ungültigen Bezug enthält.

2. Wie kann ich den Fehler 2023 beheben?
Überprüfe die Zellen, die Du im Code verwendest, auf Werte wie #Bezug! und ändere Deinen Code, um logische Strukturen anstelle von GoTo zu verwenden.

3. Welche Excel-Version wird empfohlen?
Wenn Du mit VBA arbeitest, ist Excel 2023 empfehlenswert, da es neue Funktionen und Verbesserungen bietet.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige