Fehlerbehandlung bei Find

Bild

Betrifft: Fehlerbehandlung bei Find von: werner h.
Geschrieben am: 07.04.2005 12:18:54

Hallo zusammen,

ich stehe gerade auf dem Schlauch, obwohl es sicher ganz einfach ist: Ich lasse in einer Spalte nach insgesamt 5 namen suchen - wenn einer der Namen in dieser Spalte nicht vorhandem ist, kommt natürlich eine Fehlermeldung - wie kann ich die vermeiden bzw. die Suche beim nächsten Namen fortsetzen?


Range("c1:c18").Find("Name1").Select
Range(ActiveCell, ActiveCell.Offset(0, 1)).Cut
Range("c23:d23").Insert Shift:=xlDown

Range("c1:c18").Find("Name2").Select
Range(ActiveCell, ActiveCell.Offset(0, 1)).Cut
Range("c23:d23").Insert Shift:=xlDown

Range("c1:c18").Find("Name3").Select .....


Danke für eure Mühe und grüße
Werner

Bild


Betrifft: AW: Fehlerbehandlung bei Find von: Lars
Geschrieben am: 07.04.2005 12:20:16

Hi,

On Error Resume Next

mfg Lars


Bild


Betrifft: AW: Fehlerbehandlung bei Find von: werner h.
Geschrieben am: 07.04.2005 12:54:14

Hallo Lars,

damit geht es leider nicht zum nächsten Find-Befehl weiter, wie es nötig wäre ..

trotzdem Danke
W.


Bild


Betrifft: AW: Fehlerbehandlung bei Find von: werner h.
Geschrieben am: 07.04.2005 12:54:50

Hallo Lars,

damit geht es leider nicht zum nächsten Find-Befehl weiter, wie es nötig wäre ..

trotzdem Danke
W.


Bild


Betrifft: AW: Fehlerbehandlung bei Find von: Lars
Geschrieben am: 07.04.2005 13:02:38

Hi,

kaum vorstellbar, dann versuchs mal so:

On error resume next
Range("c1:c18").Find("Name1").Select
Range(ActiveCell, ActiveCell.Offset(0, 1)).Cut
Range("c23:d23").Insert Shift:=xlDown
err.clear
On error resume next
Range("c1:c18").Find("Name2").Select
Range(ActiveCell, ActiveCell.Offset(0, 1)).Cut
Range("c23:d23").Insert Shift:=xlDown
err.clear

usw.....
Range("c1:c18").Find("Name3").Select .....

mfg Lars


Bild


Betrifft: AW: Fehlerbehandlung bei Find von: werner h.
Geschrieben am: 07.04.2005 13:33:17

Hallo lars,

ist leider nach wie vor so; wird ein Name nicht gefunden, geht´s zur nächsten zeile im Code und in der Tabelle werden falsche Zellen ausgeschnitten - scheint mir eigentlich mit meinen bescheidenen Kenntnissen nicht nur vorstellbar, sondern sogar logisch zu sein??

Grüße
Werner


Bild


Betrifft: AW: Fehlerbehandlung bei Find von: Volker
Geschrieben am: 07.04.2005 14:41:08

Hallo Werner,

on error goto war schon richtig, aber nicht to next. Da überspringt er wirklich nur die Fehlerproduzierende Zeile
Du kannst aber auch eine Art Sprungmarke definieren, ähnlich wie beim guten alten Basic mit dem "Goto "
Die Sprungmarke kannst Du beliebig benennen:


Sub Makro3()
On Error GoTo weiter2
Range("c1:c18").Find("Name1").Select
Range(ActiveCell, ActiveCell.Offset(0, 1)).Cut
Range("c23:d23").Insert Shift:=xlDown
weiter2:
Err.Clear
On Error GoTo weiter3
Range("c1:c18").Find("Name2").Select
Range(ActiveCell, ActiveCell.Offset(0, 1)).Cut
Range("c23:d23").Insert Shift:=xlDown
weiter3:
Err.Clear
On Error GoTo weiter4
ActiveSheet.Range("c1:c18").Find("Name3").Select
Range(ActiveCell, ActiveCell.Offset(0, 1)).Cut
Range("c23:d23").Insert Shift:=xlDown
weiter4:
....usw......
End Sub


Das mit dem err.Clear kannte ich zwar noch nicht, scheint aber nötig zu sein.

Gruß
Volker


Bild


Betrifft: erst mal danke - probier ich später aus oT von: werner h.
Geschrieben am: 07.04.2005 16:27:55

x


Bild


Betrifft: AW: erst mal danke - probier ich später aus oT von: Kurt
Geschrieben am: 07.04.2005 17:20:10

...mir kräuseln sich langsam die Fussnägel in diesem ehemalig ganz kompetentem Forum


Sub test()
Dim arr
Dim c As Range
Dim i As Integer
arr = Array("Name1", "Name2", "Name3")
For i = LBound(arr) To UBound(arr)
Set c = Range("c1:c18").Find(arr(i))
If Not c Is Nothing Then
Range(Cells(c.Row, c.Column), Cells(c.Row, c.Column + 1)).Cut
Range("c23:d23").Insert Shift:=xlDown
End If
Next i
End Sub


...und Tschüss Kurt


Bild


Betrifft: AW: erst mal danke - probier ich später aus oT von: Volker
Geschrieben am: 07.04.2005 17:24:15

Wenn Du doch ach so kompetent bist, warum schreitest Du nicht früher ein.
Aber zugegeben, Deine Lösung ist ein wenig eleganter.

auch tschüss
Volker


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Kombination von S- und WVerweis "