Anzeige
Archiv - Navigation
1152to1156
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
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

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

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

317 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige