Anzeige
Archiv - Navigation
1008to1012
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
Mit Userform Wert suchen
17.09.2008 08:38:00
Thorsten
Hallo,
ich gebe in meiner UF ein Datum ein und möchte, dass dieses Datum in der Tabelle gefunden wird. Ich habe in der Tabelle die Daten vom 1.1.09 bis 31.12.09 stehen, möchte also, dass mit ok-klick auf das eingetragene Datum springt.
Wie kann ich das am besten realisieren?
Danke schonmal für die Hilfe.
Gruße Thorsten

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

Betreff
Datum
Anwender
Anzeige
AW: Mit Userform Wert suchen
17.09.2008 09:10:20
Beverly
hi Thorsten,
angenommen deine Datumswerte stehen in Spalte A und du gibst das zu suchende Datum in TextBox1 ein:

Private Sub CommandButton1_Click()
Dim loZeile As Long
On Error Resume Next
loZeile = Application.Match(CDbl(DateValue(TextBox1)), ActiveSheet.Columns(1), 0)
If Err > 0 Then
MsgBox "Datum nicht gefunden"
Else
Application.Goto reference:=Cells(loZeile, 1), Scroll:=True
End If
On Error GoTo 0
Err.Clear
End Sub




Noch eine kleine Frage...
17.09.2008 09:26:00
Thorsten
Hey,
perfekt. Hat prima funktioniert.
Hast Du evtl. noch eine Lsg. dafür, wenn ich zusätzlich in einer ComboBox einen Namen suche, die sich in Zeile 7 (A - Z) befinden, finden kann? Er soll dann die Zelle auswählen, die den Treffpunkt zwischen Datum und Name ergibt. Ich hoffe, ich hab das einigermaßen Verständlich geschrieben. :)
Anzeige
AW: Noch eine kleine Frage...
17.09.2008 10:29:19
Beverly
Hi Thorsten,

Private Sub CommandButton1_Click()
Dim loZeile As Long
Dim raZelle As Range
On Error Resume Next
loZeile = Application.Match(CDbl(DateValue(TextBox1)), ActiveSheet.Columns(1), 0)
If Err > 0 Then
MsgBox "Datum nicht gefunden"
Else
Set raZelle = Rows(7).Find(ComboBox1, lookat:=xlWhole)
Application.Goto reference:=Cells(loZeile, raZelle.Column), Scroll:=True
End If
On Error GoTo 0
Err.Clear
End Sub




Eine noch. :)
17.09.2008 10:57:00
Thorsten
Vorab erstmal: VIELEN VIELEN DANK. Du bist die beste.
Nur eins noch: Gibt es eine Möglichkeit das Datum über 2 Textfelder so anzusteuern, dass er einen
"Von bis" Bereich zu dem dazugehörigen Namen ansteuert?
Dann wäre ich fertig. :) Den Rest bekomme ich dann alleine hin...
Anzeige
AW: Eine noch. :)
17.09.2008 11:07:02
Beverly
Hi Thorsten,
ich weiß nicht, ob ich deine Frage richtig interpretiert habe

Private Sub CommandButton1_Click()
Dim loZeile As Long
Dim loZeile2 As Long
Dim raZelle As Range
On Error Resume Next
loZeile = Application.Match(CDbl(DateValue(TextBox1)), ActiveSheet.Columns(1), 0)
loZeile2 = Application.Match(CDbl(DateValue(TextBox2)), ActiveSheet.Columns(1), 0)
If Err > 0 Then
MsgBox "Datum nicht gefunden"
Else
Set raZelle = Rows(7).Find(ComboBox1, lookat:=xlWhole)
Application.Goto reference:=Range(Cells(loZeile, raZelle.Column), Cells(loZeile2, raZelle. _
Column)), Scroll:=True
End If
On Error GoTo 0
Err.Clear
End Sub




Anzeige
AW: Eine noch. :)
17.09.2008 11:32:00
Thorsten
PERFEKT. Ich danke Dir herzlich... :)
Doch noch eine Frage an Beverly
17.09.2008 12:32:00
Thorsten
Hallo nochmal,
kann man bei der Markierung irgendwie die Sonntage weglassen? Also Datum prüfen ob Sonntag und dann die nicht markieren...
Gruß Thorsten
AW: Doch noch eine Frage an Beverly
17.09.2008 14:23:49
Beverly
Hi Thorsten,

Private Sub CommandButton1_Click()
Dim loZeile As Long
Dim lozeile2 As Long
Dim raZelle As Range
Dim raSelektion As Range
On Error Resume Next
loZeile = Application.Match(CDbl(DateValue(TextBox1)), ActiveSheet.Columns(1), 0)
lozeile2 = Application.Match(CDbl(DateValue(TextBox2)), ActiveSheet.Columns(1), 0)
If Err > 0 Then
MsgBox "Datum nicht gefunden"
Else
Set raZelle = Rows(7).Find(ComboBox1, lookat:=xlWhole)
For Each raZelle In Range(Cells(loZeile, raZelle.Column), Cells(lozeile2, raZelle.Column)) _
If Weekday(Cells(raZelle.Row, 1), vbMonday)  7 Then
If raSelektion Is Nothing Then
Set raSelektion = raZelle
Else
Set raSelektion = Union(raSelektion, raZelle)
End If
End If
Next raZelle
Application.Goto reference:=raSelektion, Scroll:=True
End If
On Error GoTo 0
Err.Clear
End Sub




Anzeige
...
17.09.2008 14:44:50
Thorsten
Super. Alles funktioniert..
Wie lange ist man dabei um sowas SO zu können? :)
Eine allerletzte Frage...dann fertig
17.09.2008 15:13:00
Thorsten
Hallo nocheinmal.
erst mal muss ich sagen, dass das so alles perfekt gelaufen ist. Klappt prima.
Nun habe ich eine letzte Frage.
Zunächste ein Hintergrund: Das ganze wird eine Urlaubsdatei, die sich mit dem Userform leichter füllen lassen soll als manuell, weil die Erfahrung gezeigt hat, dass man doch mal verrutcht.
Die letzte Anforderung ist, einen Eintrag in die markierten Felder zu setzen. Ich mach das gerade mit raSelektion.Value = Textbox3.value (geht). Jetzt ist es so, dass, an jedem 2. Samstag, wenn von Montag bis Samstag freigenommen wurde, Montag - Freitag ein U eingetragen werden soll und am Samstag ein FR. Wie gesagt, nur an jedem 2. Samstag und auch nur, wenn komplette Woche U eingegeben wurde.
Ich weiß nicht, ob sowas möglich ist. Wenn nicht, müssen hier doch manuelle Eingaben gemacht werden. Ich dachte, ich frag trotzdem mal an. :) Falls genauere Angaben nötig sind, bin ich auch per Mail zu erreichen. (th.sturze@gmx.net)
Anzeige
AW: Eine allerletzte Frage...dann fertig
18.09.2008 10:53:00
Beverly
Hi Thorsten,
ich denke, da ist der Aufwand einfach zu hoch, um das vollautomatisch zu machen, weil es einfach zu viele möglichen Varianten gibt. Aber vielleicht hat ja ein anderer Helfer Lust und Zeit dazu. Deshalb stelle ich den Beitrag mal auf offen.
Zu deiner Frage aus deinem vorhergehenden Beitrag: ich mache das seit 3 Jahren und 2 Monaten.


AW: Mit Userform Wert suchen
17.09.2008 09:58:12
wernernico
Hallo,
hänge doch an dei Click-ereignis des OK-Knopfes ein Routine die den Zelleninhalt deines Datenbereiches mit dem Inhalt des Eingabefeldes vergleicht und bei übereinstimmung auswählt.
Das Ganze könnte so aussehen, wobei ich davon Ausgehe, dass die Datumswerte in einer Spalte stehen:
For Zeile = ErsteZeileDatum to LetzteZeileDatum
If Cells(Zeile, Spalte).Value = Userform.Datenfeld.Value Then
Cells(Zeile, Spalte).select
Exit For
End If
Next Zeile
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige