Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1136to1140
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
For Next Schleife ?
Leitz
Hallo!
Wie kann ich eine For Next Schleife so ändern, daß sie aufhört sobald die erste Übereinstimmung gefunden wurde?
Oder muß ich da was anders vewenden?
Sub DatumSuche()
Dim Datum As Date
Datum = Cells(3, 5) 'Testdatum
Dim a As Integer
For a = 100 To 3 Step -1
If Cells(a, 1).Text 
Bitte um Eure Hilfe!
Gruß
Leitz G.
Exit For owT
09.02.2010 18:48:49
Uduuh
AW: Exit For owT
09.02.2010 18:57:59
Leitz
Hallo!
Danke für die Hilfe!
Wenn ich das richtig verstehe dann soll ich vor "For" Exit setzen.
Wenn ich das tue bekomme ich eine Fehlermeldung.
Exit For intStart = intEinfügeBasis To intKostenstelleLtAuftrag Step -1
Gruß
Leitz G.
AW: For Next Schleife ?
09.02.2010 18:55:26
Tino
Hallo,
teste mal diese Version ohne Schleife.
Dim vRow
vRow = Application.Match(Cells(3, 5).Value2, Range("A3:A100"), 1)
If IsNumeric(vRow) Then
MsgBox Range("A3:A100").Cells(vRow, 1).Address
Else
MsgBox "nix gefunden"
End If
Gruß Tino
AW: For Next Schleife ?
09.02.2010 19:07:26
Leitz
Hallo!
Danke für die Hilfe!
Ich sollte von unten nach oben suchen und statt Cells(3 , 5) brauche ich den Speicher "Datum"
Wie muß ich das abändern?
Gruß
Leitz G.
Anzeige
AW: For Next Schleife ?
09.02.2010 19:14:42
Tino
Hallo,
geht so.
Dim vRow, Datum As Date
Datum = Cells(3, 5)
vRow = Application.Match(CLng(Datum), Range("A3:A100"), 1)
If IsNumeric(vRow) Then
MsgBox Range("A3:A100").Cells(vRow, 1).Address
Else
MsgBox "nix gefunden"
End If
Einfach mal testen. ;-)
Gruß Tino
AW: For Next Schleife ?
09.02.2010 19:20:25
Leitz
Hallo!
Und erfolgt die Suche von unten nach oben? Ist sehr wichtig, ich benötige das letzte Datum in der Reihe.
Gruß
Leitz G.
kannst Du es nicht testen? oT.
09.02.2010 19:27:31
Tino
AW: kannst Du es nicht testen? oT.
09.02.2010 19:31:21
Leitz
Ja hab ich schon! Funktioniert super!
Danke
Leitz G.
AW: kannst Du es nicht testen? oT.
09.02.2010 20:08:13
Leitz
Hallo!
Hab mich zu früh gefreut!
Wenn ichs in mein Macro intgriere dann bekomme ichs nicht hin
vRow = Application.Match(CLng(Datum), Range("Q" & intKostenstelleLtAuftrag & ":Q" & lngEinfügeBasis), 1)
intKostenstelleLtAufrag = Zeile 22
lngEinfügeBasis = 32
vRow zeigt mir dann imm er 7 an! Das kann doch gar nicht sein?
Gruß
Leitz G.
Anzeige
Match gibt den Index aus der Matrix zurück,
09.02.2010 20:42:44
Tino
Hallo,
wenn Deine Matrix bei Zeile 22 anfängt ist dies die Nr.1, die 7 wäre demnach 21 + 7 also Zeile 28.
Application.Match ist die Excel- Funktion Vergleich vielleicht wird es dann verständlicher.
Gruß Tino
AW: Match gibt den Index aus der Matrix zurück,
09.02.2010 22:30:43
Leitz
Hallo!
28 stimmt ja auch! Aber wie komm ich dann auf 28 für meine weitere Prozedur. mit vRow kann ich dann nicht weiterarbeiten oder? Muß ich dann immer rechnen?
Gruß
Leitz G.
AW: Match gibt den Index aus der Matrix zurück,
10.02.2010 04:47:20
Tino
Hallo,
du kannst doch vRow nach der Prüfung ob der Inhalt eine Zahl ist diesen werte einmal dazu addieren, dach brauchst Du nicht mehr rechnen.
If IsNumeric(vRow) Then
vRow = vRow + 21
MsgBox Cells(vRow, 17).Address
Else
MsgBox "nix gefunden"
End If
Gruß Tino
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige