Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Error in For Schleife

Error in For Schleife
03.09.2013 12:26:02
Alexander
Hallo zusammen!
Ich hätte mir mein Problem schon ergoogelt, aber irgendwie passt da keine Lösung. Und zwar habe ich eine For-Schleife in der ein Fehler auftreten kann.
For i = 10 To Workbooks("Tests.xlsm").Worksheets(1).Cells(Rows.Count, 8).End(xlUp).Row
c = Workbooks("Tests.xlsm").Worksheets(1).Cells(i, 8).Value
If c = "" Then GoTo Ende
On Error GoTo Sprung
d = Worksheets(1).Range("B7:B" & f).Find(c).Address
e = Val(Mid(d, InStr(2, d, "$") + 1))
g = Worksheets(1).Range("C" & e)
Workbooks("Tests.xlsm").Worksheets(1).Cells(i, 9).Value = g
GoTo Ende
Sprung:
Workbooks("Tests.xlsm").Worksheets(1).Cells(i, 9).Value = 0
Ende:
Next
Den Fehler überspringt der Code ja nur einmal, nur bin ich aus den ganzen Lösungsvorschlägen nicht schlau geworden. Die Variable c kann nicht immer gefunden werden, da keine Daten dazu hinterlegt sind (Daten 0 zu setzen geht nicht).
Wie kann ich diesen Fehler bei jedem Durchgang der Schleife übergehen? Ich habe etwas mit Err.Clear gelesen, aber da weiß ich nicht genau wo der Befehl hingehört (hab schon probiert).
Danke schon mal für eure Mühe!
Grüße
Alex

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Error in For Schleife
03.09.2013 12:45:24
Rudi
Hallo,
wozu On Error?
Vorschlag:
Sub xxx()
Dim i As Long, c As String, d As String, e As Long, g, r As Range, f as long
For i = 10 To Workbooks("Tests.xlsm").Worksheets(1).Cells(Rows.Count, 8).End(xlUp).Row
c = Workbooks("Tests.xlsm").Worksheets(1).Cells(i, 8).Value
If c  "" Then
Set r = Worksheets(1).Range("B7:B" & f).Find(c)
If Not r Is Nothing Then
e = r.Row
g = Worksheets(1).Cells(e, 3)
Workbooks("Tests.xlsm").Worksheets(1).Cells(i, 9).Value = g
Else
Workbooks("Tests.xlsm").Worksheets(1).Cells(i, 9).Value = 0
End If
End If
Next
End Sub

Gruß
Rudi

Anzeige
AW: Error in For Schleife
03.09.2013 12:53:32
ChrisL
Hi Alex
Brauchte etwas länger wie Rudi, aber hier noch ein anderer Lösungsansatz:
Sub t()
Dim i As Long
With Workbooks("Test.xlsm").Worksheets(1)
For i = 10 To .Cells(Rows.Count, 8).End(xlUp).Row
If WorksheetFunction.CountIf(.Columns(2), .Cells(i, 8)) > 0 Then
.Cells(i, 9) = WorksheetFunction.VLookup(.Cells(i, 8), _
.Range(.Columns(2), .Columns(3)), 2, 0)
Else
.Cells(i, 9) = 0
End If
Next i
End With
End Sub

cu
Chris
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige