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. Fehler (0x800CCC78) beim Ausführen der Aufgabe "xx.yyyy@kabelmail.de - Nachrichten werden gesendet"

    in Microsoft Outlook Hilfe
    Fehler (0x800CCC78) beim Ausführen der Aufgabe "xx.yyyy@kabelmail.de - Nachrichten werden gesendet": Bei mir taucht im Outlook ständig folgender Fehler auf: (0x800CCC78) beim Ausführen der Aufgabe "xx.yyyy@kabelmail.de - Nachrichten werden gesendet": "Die Nachricht kann nicht gesendet werden....
  3. Fehler beim SVERWEIS Vermeidbar?

    in Microsoft Excel Hilfe
    Fehler beim SVERWEIS Vermeidbar?: Hallo, ich habe eine Tabelle mit SVERWEIS. Der erste Tab ist quasi eine Übersicht nach Jahren und dann die weiteren Tabs die Eingaben in den Jahren (Artikel, Bestand, Einkaufspreis usw). Die...
  4. Installation schlägt fehl - Fehler in OfficeClickToRun.exe

    in Sonstiges
    Installation schlägt fehl - Fehler in OfficeClickToRun.exe: Hallo, ich habe ein Problem beim Installieren von Office Ich erhalte die folgende Fehlermeldung: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ OfficeClickToRun.exe - Anwendungsfehler Die Anwendung...
  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