Anzeige
Archiv - Navigation
280to284
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
280to284
280to284
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Was mache ich bloß falsch?

Was mache ich bloß falsch?
15.07.2003 07:23:26
Marion
Hallo,
ich möchte mit folgendem VBA-Code aus einer Tabelle "Aufträge"
den Suchwert finden und den benachbarten Wert der Zelle in die
Originaltabelle in Spalte H einfügen.
Mit der OnError Anweisung sollen Werte, die nicht gefunden werden
einfach mit einer 7 eingetragen werden.
Leider bricht das Makro ab, sobald ein Wert zum zweiten Mal nicht
gefunden wird, also die OnError-Anweisung wiederholt angesteuert werden soll.
Als Fehlermeldung erscheint: Objektvariable oder With-Blockvariable nicht festgelegt.
Die angebotene Hilfe sagt mir leider nicht viel.
Ich freue mich über jede Hilfe.
Grüße/Marion

Sub test()
Dim Name As Range
Dim Suche As String
Dim Zae7 As Integer
Dim Sprung As Integer
Do While Range("A2").Offset(Zae7, 0) <> ""
Suche = Range("A1").Offset(Zae7, 0).Value
On Error GoTo Fehler
Set Name = Sheets("Aufträge").Columns(2).Find(Suche, LookAt:=xlPart).Offset(0, 1)
Range("H1").Offset(Zae7, 0).Value = Name
Zae7 = Zae7 + 1
GoTo WertOK:
Fehler:
Range("H1").Offset(Zae7, 0).Value = 7
WertOK:
Loop
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Was mache ich bloß falsch?
15.07.2003 07:37:20
Hans W. Herber
Hallo Marion,
da im Falle des Nichtfindens das Ergebnis Nothing ist, kann von Nothing auch kein Offset erfolgen.
Ich würde auf Fehlerroutinen verzichten, und die Sache so machen:

Sub Suchen()
Dim rng As Range
Dim sSearch As String
Dim iRow As Integer
Do While Range("A2").Offset(iRow, 0) <> ""
sSearch = Range("A1").Offset(iRow, 0).Value
Set rng = Sheets("Aufträge").Columns(2).Find(sSearch, LookAt:=xlPart)
If Not rng Is Nothing Then
Set rng = rng.Offset(0, 1)
Range("H1").Offset(iRow, 0).Value = rng
Else
Range("H1").Offset(iRow, 0).Value = 7
End If
iRow = iRow + 1
Loop
End Sub

gruss hans

Anzeige
AW: Was mache ich bloß falsch?
15.07.2003 07:45:27
Marion
Hallo Hans,
vielen Dank für den Tipp. Das war der Lösungsansatz der mir fehlte
und noch dazu gleich mit einer fertigen Lösung. Klasse! Funktioniert super gut.
DANKE, Du hast mir damit sehr geholfen.
Viele Grüße
Marion

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige