Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
624to628
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
624to628
624to628
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Code erweitern Find / FindNext

Code erweitern Find / FindNext
16.06.2005 11:45:37
VolkerM
Hallo
Ich benötige Hilfe bei folgendem Code:

Sub Eintrag ()
Dim X As Range
Dim I As Integer
For I = 2 To 32
Set X = Sheets("Urlaub").Columns(1).Find( _
what:=DateValue(Cells(I, 1).Value), LookIn:=xlFormulas)
If X Is Nothing Then  ‘ ?
Exit Sub
End If
Sheets("Kalender").Cells(I, 2).Value = X.Offset(0, 1).Value
Next I
End Sub

Der Code kopiert mir logischerweise solange Einträge ins Tabellenblatt bis eine Datumslücke erreicht wird.
Ich möchte nunmehr, dass der Code mit FindNext weitergeführt wird, bekomme es aber nicht hin.
Die Datumseinträge sind sortiert und weisen keine Leerzellen auf, sind jedoch nicht fortlaufend.
Kann jemand den Code ergänzen.
Vielen Dank im Voraus.
Gruß Volker

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

Betreff
Datum
Anwender
Anzeige
AW: Code erweitern Find / FindNext
16.06.2005 11:48:19
Hajo_Zi
Hallo Volker,
ich hoffe mal das Du dich ein wenig mit VBA auskennst. Mal ein Beispiel für Find und FindNext.

Sub Find_mehrmals()
'   erstellt von Hajo.Ziplies@web.de  14.08.03
Dim Found As Range
Dim FirstAddress As String
Dim Search As String
Dim LoLetzte As Long
Dim LoI As Long
Dim ByMldg As Byte
Search = Worksheets("Tabelle2").Range("A1")
With Worksheets("Tabelle1")
LoLetzte = IIf(IsEmpty(.Range("A65536")), .Range("A65536").End(xlUp).Row, 65536)
'   von Peter Haserodt
Set Found = .Range("A1:A" & LoLetzte).Find(Search, .Range("A" & LoLetzte), , xlWhole, , xlNext)
If Found Is Nothing Then Exit 

Sub  'falls nicht gefunden wird 

Sub verlassen
If MsgBox("Gefunden in Zelle " & Found.Address(0, 0) & " ist dies richt richtige Zelle !!!" _
, vbYesNo + vbQuestion, "Abfrage") = 6 Then
Exit Sub
Else
FirstAddress = Found.Address
Do
Set Found = .Range("A1:A" & LoLetzte).FindNext(Found)
If Found.Address = FirstAddress Then Exit Sub
If MsgBox("Gefunden in Zelle " & Found.Address(0, 0) & " ist dies richt richtige Zelle !!!" _
, vbYesNo + vbQuestion, "Abfrage") = 6 Then
Exit Sub
End If
If Found.Row = LoLetzte Then Exit Sub
LoI = LoI + 1
Loop While Not Found Is Nothing
End If
End With
End Sub

Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem Windows 2000 SP4 und Excel Version 2000 SP3.


Anzeige
AW: Code erweitern Find / FindNext
16.06.2005 12:18:58
VolkerM
Hallo Hajo
Danke für das Beispiel. Leider übersteigt das meine bescheidenen Kenntnisse.
In der Recherche befinden sich auch diverse Beispiele, nur an der Umsetzung scheitert es.
Gruß Volker
AW: Code erweitern Find / FindNext
16.06.2005 12:22:40
Hajo_Zi
Hallo Volker,
ich sehe gerade die Forumssoftware hat den Code nicht richtig dargestellt.

Sub Find_mehrmals()
'   erstellt von Hajo.Ziplies@web.de  14.08.03
Dim Found As Range
Dim FirstAddress As String
Dim Search As String
Dim LoLetzte As Long
Dim LoI As Long
Dim ByMldg As Byte
Search = Worksheets("Tabelle2").Range("A1")
With Worksheets("Tabelle1")
LoLetzte = IIf(IsEmpty(.Range("A65536")), .Range("A65536").End(xlUp).Row, 65536)
'   von Peter Haserodt
Set Found = .Range("A1:A" & LoLetzte).Find(Search, .Range("A" & LoLetzte), , xlWhole, , xlNext)
If Found Is Nothing Then Exit Sub  'falls nicht gefunden wird sub verlassen
If MsgBox("Gefunden in Zelle " & Found.Address(0, 0) & " ist dies richt richtige Zelle !!!" _
, vbYesNo + vbQuestion, "Abfrage") = 6 Then
Exit Sub
Else
FirstAddress = Found.Address
Do
Set Found = .Range("A1:A" & LoLetzte).FindNext(Found)
If Found.Address = FirstAddress Then Exit Sub
If MsgBox("Gefunden in Zelle " & Found.Address(0, 0) & " ist dies richt richtige Zelle !!!" _
, vbYesNo + vbQuestion, "Abfrage") = 6 Then
Exit Sub
End If
If Found.Row = LoLetzte Then Exit Sub
LoI = LoI + 1
Loop While Not Found Is Nothing
End If
End With
End Sub

Gruß Hajo
Das Forum lebt auch von den Rückmeldungen.
Anzeige
AW: Code erweitern Find / FindNext
16.06.2005 13:11:42
Hajo_Zi
Hallo Volker,
ich baue das jetzt nicht nach, aber ich würde Sfind as Range definieren
Gruß Hajo
Das Forum lebt auch von den Rückmeldungen.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige