Anzeige
Archiv - Navigation
1672to1676
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
Fehler in Find Schleife
02.02.2019 16:13:24
Simon
Hallo ihr,
ich habe einen Fehler in meinem Code, finde aber nicht raus woran es liegt...

Private Sub CommandButton1_Click()
Dim wkb As Workbook
Dim geoeffnet As Boolean
Dim wkbName As String, wkbPath As String
Dim bereich As Range
Dim Datum As String
Dim Ergebnis As Range
Dim Urlaub As Range
wkbName = "Urlaub.xlsm"
wkbPath = "V:\21. BPH_E\Kivelitz\Basisdatenbank"
' feststellen, ob Datei schon geöffnet
For Each wkb In Application.Workbooks
If wkb.Name = wkbName And wkb.Path = wkbPath Then geoeffnet = True
Next wkb
' entsprechend reagieren
If geoeffnet Then
Workbooks(wkbName).Activate
Else
Workbooks.Open Filename:=wkbPath & "\" & wkbName, UpdateLinks:=0
End If
For i = 1 To 12
Set bereich = Workbooks(wkbName).Sheets(i).Rows(2).Find(CDate(TextBox1.Value), Lookat:= _
xlWhole)
If Not bereich Is Nothing Then
For d = 1 To 41
Set Ergebnis = bereich.EntireColumn.Find("u", Lookat:=xlWhole)
If Not Ergebnis Is Nothing Then
Do
Set Urlaub = Workbooks(wkbName).Sheets(i).Cells(Ergebnis.Row, 1)
ErstesErgebnis = Ergebnis.Address
With Tabelle1
z = 3
nochmal:
If .Cells(58, z) = "" Then
.Cells(58, z) = Urlaub.Value
Else
z = z + 1
GoTo nochmal
End If
End With
Set Ergebnis = Ergebnis.FindNext(Ergebnis)
Loop While Ergebnis.Address  ErstesErgebnis
Exit For
End If
Next d
Exit For
End If
Next i
End Sub
Zur Erklärung:
Ich habe eine Urlaubsliste mit 12 Blättern( Jan-Dez) in der Personen in Spalte "A" stehen, das Datum fortlaufend zum Monat in Zeile 2.
Mein Suchbefehl soll erst das Datum suchen, dann in der ganzen Spalte (von 1-41 mehr Personen habe ich nicht) nach "u". Wenn er das findet (z.B. in C7) soll er den Wert aus A7 nehmen und in eine andere Tabelle schreiben in welcher das Makro läuft.
Dort soll er in einer Bestimmten Zelle Starten (Cell(58,z) wobei das erste mal bei drei sein soll.
Dann soll er eigentlich den nächsten "u" Wert finden und den nächsten Namen ins freie Feld daneben schreiben (eben elso z + 1).
Das ganze bis er keine "u"s mehr findet, dann ist gut.
Das klappt auch alles echt wunderbar, er findet den ersten Namen und trägt ihn in Cell (58,3) ein, danach sucht er aber irgendwie nicht weiter.
Wo ist der Fehler bei meinem FindNext? :/

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

Betreff
Datum
Anwender
Anzeige
AW: Fehler in Find Schleife
02.02.2019 16:36:32
Mullit
Hallo,
Dein:
ErstesErgebnis = Ergebnis.Address

muß außerhalb der Schleife stehen...
Gruß, Mullit
AW: Fehler in Find Schleife
02.02.2019 18:46:49
Luschi
Hallo Simon,
- wozu die äußere For-Schleife (For i = 1 To 12) gut sein soll, kann ich nicht verstehen
- denn aus dem Vorgabedatum kann man doch die jeweilige Tabelle direkt ermitteln
- der 1. Mai kann nur in der Mai-Tabelle liegen (i = 5)
- der FindNext-Befehl ist auch falsch definiert:
  Set Ergebnis = Ergebnis.FindNext(Ergebnis)
  und muß so lauten:
  Set Ergebnis = bereich.EntireColumn.FindNext(Ergebnis)
  (siehe: https://docs.microsoft.com/de-de/office/vba/api/excel.range.find)
- die 1. Fundstelle muß sofort nach dem 1. Find-Befehl erfolgen
  also vor der SChleife
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Fehler in Find Schleife
02.02.2019 21:21:04
Simon
Luschi du bist mein Gott, tausend Dank es läuft!
Zum i = Datum, wie kann ich das machen?

Dim y as interger
Dim DatumJahr as Date
Dim txt as String
txt =“TextBox1.Text“
DatumJahr = CDate(txt)
Y = year(Datum)
Den Code habe ich schon mal zum ermitteln des Jahres geschrieben (damit er die richtige Urlaubsdatei anhand des Datums wählt). Kann ich da statt year einfach month setzen?
LG und nochmal tausend Dank!
AW: Fehler in Find Schleife
03.02.2019 08:13:16
Hajo_Zi
einfach testen, ja
falls die Variable Datum ein Datum enthält.

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Die Beiträge werden auch ignoriert, es erfolgt keine Antwort.
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige