Office: Fehler abfangen VBA

Helfe beim Thema Fehler abfangen VBA in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, ich habe einen Code, in dem die selektierten LEEREN Zellen mit einer Null aufgefüllt werden soll. Das funktioniert auch. Aber wenn in dem... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Marius82, 5. Dezember 2012.

  1. Marius82 Erfahrener User

    Fehler abfangen VBA


    Hallo,

    ich habe einen Code, in dem die selektierten LEEREN Zellen mit einer Null aufgefüllt werden soll. Das funktioniert auch. Aber wenn in dem Bereich keine leeren Zellen vorhanden sind, kommt ein Laufzeitfehler "Keine Zellen gefunden"- was ja auch logisch ist. Wie kann ich diesen Fehler abfangen?

    Hier mein Code:
    Code:
    Range("A1:B5").SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "0"
    Das Programm soll dann einfach in der nächsten Zeile des Codes weiterarbeiten.

    Ich benutze Excel 2010
    Danke
     
    Marius82, 5. Dezember 2012
    #1
  2. schatzi Super-Moderator
    Hallo!

    If Not Range("A1:B5").SpecialCells(xlCellTypeBlanks) Is Nothing Then...
     
    schatzi, 5. Dezember 2012
    #2
  3. Beverly
    Beverly Erfahrener User
    Hi Marius,

    zähle einfach die leeren Zellen im Bereich:

    Code:
       If Range("A1:B5").SpecialCells(xlCellTypeBlanks).Count > 0 Then _
          Range("A1:B5").SpecialCells(xlCellTypeBlanks) = 0
    
    Bis später,
    Karin
     
    Beverly, 5. Dezember 2012
    #3
  4. Marius82 Erfahrener User

    Fehler abfangen VBA

    Prima, danke!
     
    Marius82, 6. Dezember 2012
    #4
  5. Marius82 Erfahrener User
    Ich habe beide Versionen nun probiert, aber beide funktionieren nicht.
    Es kommt immer der Laufzeitfehler "Keine Zellen gefunden"
    Hier die beiden Codes:
    Code:
    Sub Nullen_auffuellen1()
        If Not Range("A1:B5").SpecialCells(xlCellTypeBlanks) Is Nothing Then _
            Range("A1:B5").SpecialCells(xlCellTypeBlanks) = 0
    End Sub
    
    Sub Nullen_auffuellen2()
        If Range("A1:B5").SpecialCells(xlCellTypeBlanks).Count > 0 Then _
          Range("A1:B5").SpecialCells(xlCellTypeBlanks) = 0
    End Sub
    
     
    Marius82, 6. Dezember 2012
    #5
  6. Beverly
    Beverly Erfahrener User
    Hi Marius,

    ist das Tabellenblatt leer (also neu erstellt)? Dann ist das logisch, denn xlCellTypeBlanks bezieht sich immer auf Zellen im benutzten Bereich eines Tabellenblattes und ein neues Tabellenblatt hat noch keinen benutzten Bereich.
    Wenn du z.B. etwas in A2 und in B3 einträgst (auf einem neuen Tabellenblatt) und den Code laufen lässt, tritt kein Fehler auf, aber es werden nur die Zellen A1, A3, B1, B2 mit 0 gefüllt, obwohl du als Bereich A1:B5 angegeben hast - der benutzte Bereich endet aber in Zeile 3.

    Bis soäter,
    Karin
     
    Beverly, 6. Dezember 2012
    #6
  7. Marius82 Erfahrener User
    Hallo,

    das Blatt ist nicht neu. In dem Bereich steht immer etwas drin, manchmal sind alle Zeilen gefüllt, manchmal nur ein paar.
    Wenn alle Zellen gefüllt sind tritt ja der Fehler auf... und den Fehler will ich ja abfangen.

    Anbei meine Beispiel
     
    Marius82, 6. Dezember 2012
    #7
  8. Beverly
    Beverly Erfahrener User

    Fehler abfangen VBA

    Hi Marius,

    Code:
    Sub Nullen_auffuellen2()
       Dim lngAnzahl As Long
       On Error Resume Next
       lngAnzahl = Range("A1:B5").SpecialCells(xlCellTypeBlanks).Count
       On Error GoTo 0
       If lngAnzahl > 0 Then _
          Range("A1:B5").SpecialCells(xlCellTypeBlanks) = 0
    End Sub
    
    Wenn du ohne On Error auskommen willst, musst du über jede Zelle im Bereich laufen und prüfen, ob sie leer ist:

    Code:
    Sub NullenAusffuellen()
       Dim rngZelle As Range
       For Each rngZelle In Range("A1:B5")
          If IsEmpty(rngZelle) Then rngZelle = 0
       Next rngZelle
    End Sub
    Bis später,
    Karin
     
    Beverly, 6. Dezember 2012
    #8
  9. Marius82 Erfahrener User
    Danke, so gehts!!!
     
    Marius82, 6. Dezember 2012
    #9
Thema:

Fehler abfangen VBA

Die Seite wird geladen...
  1. Fehler abfangen VBA - Similar Threads - Fehler abfangen VBA

  2. Wert Fehler

    in Microsoft Excel Hilfe
    Wert Fehler: Hallo zusammen, sicher gibt es schon diverse Beiträge, leider habe ich keinen gefunden, der mein Problem los. Ich habe mal einen Auszug meiner Tabelle angehängt. Leider kriege ich in einigen...
  3. Outlook Fehlermeldung 0x800CCC78, Nachricht kann nicht gesendet werden ...

    in Microsoft Outlook Hilfe
    Outlook Fehlermeldung 0x800CCC78, Nachricht kann nicht gesendet werden ...: Hallo, habe seit der Installation von MS Office 2021 Pro ein Problem mit Outlook, dass auch nach 3-maliger Neuinstallation und mit dem MFCMAPI-Tool die Fehlermeldung auch nicht verschwindet. Bin...
  4. Fehler beim Zugriff auf Pfad/Datei

    in Microsoft Excel Hilfe
    Fehler beim Zugriff auf Pfad/Datei: Moin, Ich habe eine Excel Datei erstellt, die ziemlich viele Makros hat, die Anforderung lässt sich leider nicht anders bewerkstelligen. Kurz vor Fertigstellung des Programms bekomme ich jetzt...
  5. Fehler in Abfrage "abfangen"

    in Microsoft Access Hilfe
    Fehler in Abfrage "abfangen": Hallo zusammen, ich habe eine Abfrage, die bei Datensätzen zu denen kein Link zu einer bestimmten Abfrage existiert, einen Fehler ausgibt. (Ich hoffe das Bild m Anhang hilft das Problem zu...
  6. Laufzeit Fehler 3021 = Kein aktueller Datensatz abfangen

    in Microsoft Access Hilfe
    Laufzeit Fehler 3021 = Kein aktueller Datensatz abfangen: Hallo Leutz, welche Möglichkeit habe ich folgenden Laufzeitfehler 3021 - Kein aktueller Datensatz" abzufangen? Ich bitte um eure Unterstützung! Vielen dank im Voraus Gruss Jörg 277292
  7. Division durch Null/ #Fehler abfangen

    in Microsoft Access Hilfe
    Division durch Null/ #Fehler abfangen: Hallo, ich ahbe eine umfangreichere Formel hinterlegt, die an einer Stelle, wenn ein bestimmter Wert fehlt, dank Nz eine Division durch 0 durchführt. Also Formel vereinfacht: Nz(Wert1)/ Nz(Wert2)...
  8. In Abfrage #Fehler abfangen

    in Microsoft Access Hilfe
    In Abfrage #Fehler abfangen: Hi, also ich habe ein Problem in einer Abfrage in Access 2002. Ich habe in der Tabelle ein Feld das als Text werte aufnimmt, und die ich aber an dieser stelle doch als date brauche. In meiner...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden