Live-Forum - Die aktuellen Beiträge
Datum
Titel
25.10.2025 08:21:40
24.10.2025 18:10:41
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA_For-Next Schleife ist fehlerhaft

VBA_For-Next Schleife ist fehlerhaft
Dirk
Hallo allerseits,
habe da noch ein Problem mit einer Schleife.
Nachstehender CODE soll im TB Eingaben Zeile 1 nach einem Wert aus TB Ausgabe A1 suchen.
Macht er auch, nur zeigt er mir immer erst die msgBox an (nichts gefunden) und wenn ich die dann x-mal bestätige, kommt dann auch irgendwann mal (m)ein gewünschtes Ergebnis :-)
...
With wsA
For i = 1 To letzteSpalteE
Set suchSpalte = wsE.Columns(i).Find(.Cells(1, 1).Value, lookat:=xlWhole)
If Not suchSpalte Is Nothing Then
Spalte = suchSpalte.Column
Else
MsgBox ("nichts gefunden")
End If
Next
End With

....
Was mach ich hier falsch?!
Kann mir bitte jemand helfen?!
Vielen Dank für deine Zeit!
Gruß Dirk
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA_For-Next Schleife ist fehlerhaft
06.05.2010 17:41:15
hary
Hallo Dirk
Die Msgbox muesste glaube ich hinter next und wenn Wert gefunden musst Du Exit Sub einbauen.
teste mal diesen Code.

Dim i As Long
For i = 1 To Sheets("wsE").Cells(1, Columns.Count).End(xlToLeft).Column
If Sheets("wsE").Cells(1, i) = Sheets("wsA").Cells(1, 1) Then
MsgBox Sheets("wsE").Cells(1, i).Column
Exit Sub
End If
Next
MsgBox ("nichts gefunden")

gruss hary

Anzeige
AW: eigentlich brauchts keine Schleife ...
06.05.2010 17:46:28
xr8k2
Hallo Dirk,
'...
With wsa
Set suchSpalte = wse.Range(wse.Columns(1), wse.Columns(letztespalte)).Find(.Cells(1, 1).Value,  _
lookat:=xlWhole)
If Not suchSpalte Is Nothing Then
MsgBox suchSpalte.Column
Else
MsgBox ("nichts gefunden")
End If
End With
'...
Gruß,
xr8k2
Anzeige
AW: VBA_For-Next Schleife ist fehlerhaft
06.05.2010 17:51:21
IngGi
Hallo Dirk,
bei jeder Spalte in der nichts gefunden wird, kommt die Messagebox, bis irgendwann der Wert gefunden wird. Im folgenden Code habe ich die Messagebox aus der Schleife herausgenommen. Wird der Wert in keiner Spalte gefunden, bekommt die Variable "Spalte" keinen Wert zugewiesen und ist somit = 0 (diesen Wert habe ich der Variablen sicherheitshalber am Anfang des Codes als Startwert zugewiesen). Nach der Schleife wird "Spalte" auf 0 geprüft. Falls nichts gefunden wurde, wird eine Messagebox ausgegeben und das Makro wird abgebrochen.
With wsA
spalte = 0
For i = 1 To letzteSpalteE
Set suchSpalte = wsE.Columns(i).Find(.Cells(1, 1).Value, lookat:=xlWhole)
If Not suchSpalte Is Nothing Then
Spalte = suchSpalte.Column
Exit For
End If
Next
If Spalte = 0 Then
MsgBox "Nichts gefunden. Abbruch!", vbCritical
Exit Sub
End If
End With
Gruß Ingolf
Anzeige
Vielen Dank an EUCH!
06.05.2010 18:15:52
Dirk
Hallo Zusammen!
@xr8ke, @Ingolf
Euro Varianten funktionieren prima, vielen Dank!!! ... auch für die sehr hilfreiche Beschreibung Ingolf :-)
@hary
Hier bekomme ich eine Fehlermeldung: Index außerhalb des gültigen Bereichs
Einen schönen Feierabend wünscht euch
mit besten Grüßen
Dirk
Anzeige
;

Forumthreads zu verwandten Themen

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