Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1436to1440
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Fehlerwerte in Mappe mit VBA auflisten

Fehlerwerte in Mappe mit VBA auflisten
31.07.2015 14:57:34
Michael
Hallo Zusammen,
ist es mit einem kleinen Makro möglich, alle Fehlerwerte mit Adresse innerhalb einer Arbeitsmappe in einem separaten Tabellenblatt aufzulisten [am Anfang via Makro einzufügen]?
Vielen Dank für Eure Unterstützung
Michael

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

Betreff
Datum
Anwender
Anzeige
war doch erst Thema?
31.07.2015 16:47:26
Michael
Hi (auch) Michael,
vor zwei, drei Wochen gab es im Forum einen Thread zum Thema, der richtig zur Sache ging, aber ich habe ihn leider nicht mehr gefunden.
Aber weil das Thema mich auch interessiert, habe ich ein bißchen recherchiert und was Simples zusammegestöpselt:
Sub fehler()
' Recherche: excel vba if cell error
' Treffer u.a. stackoverflow
Dim c As Range
Dim i As Long
For Each c In Selection
' die dumme Methode:
If Mid(c.Text, 1, 1) = "#" Then MsgBox "Fehler " & c.Address & c.Text
' die gescheitere Methode:
If VarType(c.Value) = vbError Then MsgBox "VarType" & c.Address & c.Text
Next
i = 0
For Each c In Selection
If VarType(c.Value) = vbError Then
i = i + 1
Sheets("Fehler").Range("A" & i).Value = c.Address
Sheets("Fehler").Range("B" & i).Value = c.Text
Sheets("Fehler").Range("c" & i).Value = "'" & c.FormulaLocal
End If
Next
MsgBox "Anzahl Fehler: " & i
End Sub
Du markierst einen fehlerbehafteten Bereich und drückst Strg-Shift-M; die Fehler werden in das Blatt "Fehler" [das *musst* Du bitte händisch anlegen] in drei Spalten geschrieben: Adresse, Typ, Formel.
Ach, was soll's. Hier die Datei incl. Blatt "Fehler": https://www.herber.de/bbs/user/99219.xls
Das Ding kann man nach Gusto aufbohren für for each blatt in workbook (außer "Fehler") und statt des selektierten Bereichs auf for each c in blatt.usedrange oder so.
Schöne Grüße,
Michael

Anzeige
noch anpassen
31.07.2015 20:16:39
Michael
Hallo Michael,
Vielen Dank für die Datei.
Ich will damit umfangreiche Mappen überprüfen, ob sich Fehlerwerte darin befinden. Eine Auflistung in einem Tabellenblatt mit Adresse ist daher unverzichtbar. Da ich jedoch von VBA keine Ahnung habe, kann ich das Teil leider selber kaum anpassen.
Kannst Du mich dabei etwas unterstützen?
Vielen Dank für Deine Hilfe!
Gruß
Michael

Fehler in Formeln auflisten in separaten Blatt
31.07.2015 23:44:03
Matthias
Hallo
Schicke einfach eine Schleife über nur die Zellen, welche einen Fehler zurückgeben.
Also ganz ohne Selection.
https://www.herber.de/bbs/user/99230.xlsm
Gruß Matthias

Anzeige
Prima! ... geht das auch mit Blatt anlegen?
02.08.2015 13:41:03
Michael
Hallo Mattias,
vielen Dank auch. Läuft funktionell super!
Da ich das für alle meine Dateien verwenden möchte, speichere ich das Makro in der Personal.xlsb ab.
Dazu wäre es jedoch notwendig, dass das Makro vorab prüft, ob ein Tabellenblatt Fehler existiert und falls nicht, ein Blatt anlegt(am besten als erstes Blatt. MIt den Recorder habe ich das nicht hinbekommen.
... kannst Du nochmal eingreifen?
Vielenb Dan und Gruß
Michael

AW: Prima! ... geht das auch mit Blatt anlegen?
02.08.2015 14:14:40
Matthias
Hallo
Option Explicit
Sub MyNewWorksheet()
Dim x&
For x = 1 To Worksheets.Count
If Worksheets(x).Name = "Fehler" Then
MsgBox "Ein Registerblatt mit Namen:(Fehler) existiert schon", vbCritical
Exit Sub
End If
Worksheets.Add after:=Sheets(Sheets.Count)
With ActiveSheet
.Name = "Fehler"
.Move Before:=Sheets(1)
End With
Next
End Sub
Gruß Matthias

Anzeige
DANKE! owT
02.08.2015 14:18:50
Michael

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige