Live-Forum - Die aktuellen Beiträge
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
In geschlossener Datei nach Text suchen
01.02.2019 20:08:13
Simon
Hallo ihr,
ich habe ein kleines Problem.
Ich habe eine Datei("Urlaub.xlsm") für Urlaub mit 12 Blättern (Januar-Dezember)
In der Zeile "2", also B2:AF2, steht immer ein Datum (immer vom ersten bis letzen Tag des Monats im Format TT.MM.JJJJ). Diese Urlaubsdatei ist im Regelfall geschlossen, aber immer im selben Verzeichnis hinterlegt.
In einer anderen Datei wird in einer Textbox (TextBox1) ein Datum eingetragen.
Sobald ein CommandButton gedrückt wird, soll das Makro jetzt in der geschlossenen Urlaubsdatei nach dem Datum suchen und bei Fund die entsprechende Zelle (oder noch besser die ganze Spalte) als Variable zur weiteren Bearbeitung speichern.
Ich habe schon x Foren durchforstet und versucht die VBA Codes anzupassen, habe aber keinen Erfolg.
Kann mich einer von euch erleuchten?
Und ist es möglich dynamisch zu suchen, heist wenn Datum zb TT.02.JJJJ ist, dass er automatisch nur im Blatt Februar sucht?
LG und schon mal Danke für eure Mühen!

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: In geschlossener Datei nach Text suchen
01.02.2019 20:49:45
Rudi
Hallo,
wie willst du in einem geschlossenen Topf die Suppe umrühren?
Öffne die Datei und alles wird einfach.
Gruß
Rudi
AW: In geschlossener Datei nach Text suchen
01.02.2019 21:50:50
Simon
Das stimmt, ok dann füge ich einfach einen Code zum Öffnen und danach einen zum Schließen an.
Jetzt habe ich nur noch das Problem, dass ich nicht drauf komme, wie ich die ganze Arbeitsmappe, beziehungsweise nur die Reihe 2 danach durchsuchen kann.
Mein Code klappt nicht so ganz:

Private Sub CommandButton1_Click()
Dim wkb As Workbook
Dim geoeffnet As Boolean
Dim wkbName As String, wkbPath As String
Dim bereich As Range
wkbName = "Urlaub.xlsm"
wkbPath = "XYZ"
' 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
Set bereich = Workbooks(wkbName).Rows(2).Find("TextBox1.value", LookAt:=xlWhole)
If bereich Is Nothing Then
MsgBox "Jahr nicht gefunden"
Else
MsgBox "Jahr in Spalte " & bereich.column & " gefunden"
End If
Workbooks(wbkName).Close
End Sub

Anzeige
AW: In geschlossener Datei nach Text suchen
01.02.2019 22:02:00
ChrisL
Hi Simon
Probiere mal ohne Anführungszeichen...
Set bereich = Workbooks(wkbName).Rows(2).Find(TextBox1.Value, LookAt:=xlWhole)
cu
Chris
AW: In geschlossener Datei nach Text suchen
01.02.2019 23:12:46
Simon
Kommt immer noch der selbe Fehler
Laufzeitfehler 438
Objekt unterstützt diese Eigenschaft oder Methode nicht
AW: In geschlossener Datei nach Text suchen
02.02.2019 00:01:33
onur

Set bereich = Workbooks(wkbName).Rows(2).Find("TextBox1.value", LookAt:=xlWhole)

Und welches Blatt in "Workbooks(wkbName)"?
AW: In geschlossener Datei nach Text suchen
02.02.2019 00:40:03
Simon
Da liegt ja mein Problem, er soll in jedem Blatt schauen (Treffer gibt es ja nur in einem).
Daher auch die Eingangsfrage, ob das dynamisch geht. Also wenn Datum XX.02.XXXX dann nur im zweiten Blatt, dass Februar heißt.
Ich wäre schon glücklich wenn eines von beiden irgendwie klappt.
Anzeige
AW: In geschlossener Datei nach Text suchen
02.02.2019 00:51:31
onur
Wenn das erste Blatt "Januar" ist, das Zweite "Februar" usw. kannst du schreiben
for i= 1 to 12
Set bereich = Workbooks(wkbName).sheets(i).Rows(2).Find("TextBox1.value", LookAt:=xlWhole)
If bereich Is Nothing Then
MsgBox "Jahr nicht gefunden"
Else
MsgBox "Jahr in Blatt "& Workbooks(wkbName).sheets(i).name & " Spalte " & bereich.column & _
" gefunden"
Workbooks(wbkName).Close
exit for
end if
next i
end sub

AW: In geschlossener Datei nach Text suchen
02.02.2019 01:14:16
Simon
Also eine gute und eine schlechte Nachricht:
Dir erstmal tausend Dank Onur, der Code klappt!
....Allerdings nicht mit der Textbox. Ich habs umgeschrieben und nach einem vordefinierten Namen gesucht, von dem ich wusste, dass er ihn in der Reihe findet. Da hat er auch nen Treffer produziert.
Die Textbox enthält wie gesagt ein Datum (z.B. 02.02.2019) und die Zellen in der zu durchsuchenden Reihe in der Urlaubsliste sind als Datum formatiert.
Wert der Zelle ist z.B. 02.02.2019, angezeigt wird aber 02. Feb. 19.
Macht das einen unterschied, bzw muss ich den TextBox1 Text erst als Datum umschreiben lassen?
Danke schon mal für die Hilfe bisher!
Anzeige
AW: In geschlossener Datei nach Text suchen
02.02.2019 05:21:56
onur
Statt
Set bereich = Workbooks(wkbName).sheets(i).Rows(2).Find(TextBox1.value, LookAt:=xlWhole)

(natürlich wieder ohne Gänsefüsschen!) - das hier:
Set bereich = Workbooks(wkbName).sheets(i).Rows(2).Find(Cdate(TextBox1.value), LookAt:=xlWhole)

AW: In geschlossener Datei nach Text suchen
02.02.2019 05:43:24
Simon
Tausend Dank onur!
Mal sehen, wann ich wieder wo hänge 🙈
AW: In geschlossener Datei nach Text suchen
02.02.2019 01:28:44
Simon
Ok hab den Fehler gefunden und so gelöst:

Set bereich = Workbooks(wkbName).Sheets(i).Rows(2).Find(CDate(TextBox1), LookAt:=xlWhole)
Allerdings spuckt er jetzt nen Fehler bei
Workbooks(wbkName).Close
aus: Index außerhalb des gültigen Bereichs
Anzeige
AW: In geschlossener Datei nach Text suchen
02.02.2019 05:23:36
onur

Workbooks(wkbName).Close

314 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige