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"