On Error Problem

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: On Error Problem
von: Stefan
Geschrieben am: 18.03.2005 14:58:42
Hallo!
Mit folgendem VBA Code wird eine Spalte nach einem Wert aus einer anderen Spalte durchsucht. Wenn
ein Wert aus der einen Spalte in der anderen Spalte nicht gefunden werden kann (Fehler 91), soll in
das Feld D in der Zeile n das Wort "fehlt" eingetragen werden. Anschliessend soll die SChleife
fortfahren bis sie bei ArrA angekommen ist.
Mit dem "on error" Befehl habe ich, wie man wohl sehen kann, bisher noch gar keine Erfahrungen. Ich
freue mich schon auf Eure Antworten.
Gruß
Stefan
-----------------------------------------------


Private Sub CommandButton1_Click()
'bei Fehler
On Error GoTo Errorhandler
'HEXID Suchen und vergleichen
Range("A2").Select
Selection.End(xlDown).Select
ArrA = ActiveCell.Row
For n = 2 To ArrA
Range("A" & n).Select
lba_hexid = Selection
Columns("G:G").Select
Selection.Find(What:=lba_hexid, After:=ActiveCell, LookIn:= _
        xlFormulas, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:= _
        xlNext, MatchCase:=False).Activate
ActiveCell.Offset(0, 1).Select
Range("D" & n) = Selection
Next n
Exit Sub
Errorhandler:
If Err.Number <> 91 Then Range("D" & n) = "fehlt"
End Sub

-------------------------------------------------------
Bild

Betrifft: AW: On Error Problem
von: Boris
Geschrieben am: 18.03.2005 15:14:46
Hi Stefan,
mir ist irgendwie ganz schwindelig von der ganzen Selektiererei.
Da ich es aber dennoch (glaub ich) verstanden habe:
Kennst du die Funktion SVERWEIS? Bzw. das englische VBA-Pendant VLOOKUP?
Grüße Boris
Bild

Betrifft: AW: On Error Problem
von: Stefan
Geschrieben am: 18.03.2005 17:47:21
Hallo Boris!
Ja, die Funktion kenne ich, ich meine aber, dass sie mir bei dem Problem nicht helfen kann. Ausserdem möchte ich ein wenig VBA lernen ;)
Gruß
Stefan
Bild

Betrifft: AW: On Error Problem
von: Boris
Geschrieben am: 18.03.2005 21:15:16
Hi Stefan,
bei "VBA-gut" bin ich mal nicht in erster Linie davon ausgegangen, dass du VBA lernen willst - wenngleich dein Code alles andere als "gut" ist ;-)
Doch - der SVERWEIS (VLookup) ist hier bestens geeignet. Lad doch mal den relevanten Teil deiner Mappe hoch - dann sehen wir weiter.
Die "On Error-Anweisung" ist hier sicherlich nicht nötig. Wenn du aber dennoch etwas darüber lernen möchtest, schau doch einfach mal in die Hilfe.
Grüße Boris
Bild

Betrifft: AW: On Error Problem
von: ransi
Geschrieben am: 18.03.2005 15:16:35
hallo stefan
du selectest und activatest wie ein Mann.
so wie ich deinen code verstanden habe, könnte dieser hier das gleiche leisten.
ist allerdings ungetestet.
Option Explicit

Public

Sub test()
Dim zelle As Range
For Each zelle In Range("A2:A" & ActiveCell.Row)
If WorksheetFunction.CountIf(Range("G:G"), zelle.Value) = 0 Then
 Cells(4, zelle.Row).Value = "fehlt"
 '
end if
Next
End Sub

ransi
Bild

Betrifft: AW: On Error Problem
von: Stefan
Geschrieben am: 18.03.2005 17:43:54
Hallo!
Das Problem ist nicht das suchen und vergleichen der Werte. Das funktioniert soweit ganz gut. Sobald ein Wert aus SpalteA in SpalteG nicht vorhanden ist, bekomme ich eine Fehlermeldung. Diese soll unterdrückt werden und halt in der jeweiligen Zeile mit dem "falschen" bzw fehlenden Wert soll in SpalteD "fehlt" eingetragen werden, damit es sofort ins Auge fällt. Danach soll das Makro mit dem Vergleichen der Werte weitermachen.
Es geht mir im Endeffekt nur darum, wie ich diese On Error-Funktion schreibe und verwende.
Bis denne
Stefan
Bild

Betrifft: On Error resume next -->if err = 91 then..
von: ransi
Geschrieben am: 18.03.2005 18:25:17


      
hallo stefan
versuch mal folgendes:
on error resume next
nach der zeile wo der fehler kommt diese zeile rein:
if err =91 then Range("D" & n) = "fehlt"
ransi 

     Code eingefügt mit Syntaxhighlighter 3.0


 Bild

Beiträge aus den Excel-Beispielen zum Thema "On Error Problem"