Formelfehler in vba erkennen
22.06.2015 15:21:08
Christian
ich bin neu hier, aber eine Suche hat mich leider auch nicht weiter gebracht. Ich verändere über vba eine Tabelle und füge eine Formel ein. Bei einem Fehler soll mir eine Msgbox einen "Fehlertext" zurückgeben. Bis zur zum FillDown funktioniert das auch alles soweit. Bloß meine Fehlerabfrage tut nicht.
Ich hatte die Abfrage auf ein Feld bezogen auch schon richtig (kann ich aber nicht mehr rekonstruieren :-( ), aber dann scheiterte es an meiner Schleife. Es reicht mir einmal eine Messagebox (eventuell mit Feld, in dem der Fehler aufgetreten ist) und nicht für jeden Fehler eine Messagebox.
Könnte mir bitte jemand helfen?
Viele Grüße,
Christian
Sub BearbeitungSubaru()
Dim quellBlatt As Worksheet
Dim zielBlatt As Worksheet
Dim sverweise As Worksheet
Dim letzteZeile As Long
Dim ltzSverSubZul As Long
Dim formel As String
Dim formelbereich As Range
Dim fehler As Boolean
Set quellBlatt = Worksheets("Subaru Import")
Set zielBlatt = Worksheets("Subaru Export")
Set sverweise = Worksheets("Sverweis-Tabellen")
letzteZeile = quellBlatt.Range("A100000").End(xlUp).Row
ltzSverSubZul = sverweise.Range("A100000").End(xlUp).Row
'Kopie der relevanten Spalten
quellBlatt.Range("C1:D" & letzteZeile).Copy
zielBlatt.Cells(1, 1).PasteSpecial xlPasteValues
quellBlatt.Range("F1:F" & letzteZeile).Copy
zielBlatt.Cells(1, 3).PasteSpecial xlPasteValues
quellBlatt.Range("G1:G" & letzteZeile).Copy
zielBlatt.Cells(1, 5).PasteSpecial xlPasteValues
'Überschrift einfügen
zielBlatt.Range("D1").Value = "Händler"
'Sverweis einfügen und kopieren
Set formelbereich = zielBlatt.Range("D2:D" & letzteZeile)
formel = "=VLOOKUP(RC[-3],'Sverweis-Tabellen'!R4C1:R" & ltzSverSubZul & "C2,2,FALSE)"
formelbereich.Cells(1, 1).FormulaR1C1 = formel
formelbereich.Columns(1).FillDown
'auf Fehler prüfen
If Application.WorksheetFunction.IsError(zielbereich.Range("D2").Value) = False Then
MsgBox "Kein Fehler gefunden"
Else
MsgBox "Fehlertext"
End If
End Sub