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

Mit UserForm suchen und Weitersuchen

Mit UserForm suchen und Weitersuchen
11.04.2004 19:57:11
Oswald
Hallo und noch schöne Rest Ostern für euch alle,
bin mal wieder soweit das ich euere Hilfe brauche.
Habe ein Tabellenbaltt mit einem Datenbestend, ein UserForm mit dem ich Daten eingeben und auch suchen kann.
Was ich jetzt noch nicht hinbekomme ist das ich weitersuchen kann.
Wenn möglich mit einem klick auf den gleichen Button wie ich das suchen starte.
Hier mein Code für den Suchschalter.
<pre>
Private Sub CommandButton4_Click() 'Maschinennr. suchen
Dim frm As Variant
Dim suchen As String

Set frm = UserForm2
'On Error GoTo fehler

Sheets("Daten").Select
Range("F:F").Select
suchen = UserForm2.TextBox8.Value 'Maschinennr. zuweisen
Selection.FindNext(What:=suchen, After:=ActiveCell, LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False).Activate

With frm
.TextBox1.Value = ActiveCell.Offset(0, -5).Value 'Datum
.TextBox2.Value = Format(ActiveCell.Offset(0, -4).Value, "hh:mm") 'Zeit von
.TextBox3.Value = Format(ActiveCell.Offset(0, -3).Value, "hh:mm") 'Zeit bis
.TextBox4.Value = ActiveCell.Offset(0, -2).Value 'Kunde
.TextBox5.Value = ActiveCell.Offset(0, -1).Value 'Ort / Land
.TextBox8.Value = ActiveCell.Value 'Maschinennummer
.TextBox9.Value = ActiveCell.Offset(0, 1).Value 'PKW KM
.TextBox6.Value = ActiveCell.Offset(0, 2).Value 'Pause
.TextBox7.Value = ActiveCell.Offset(0, 3).Value 'Spesen
End With
Exit Sub
fehler:
MsgBox ("Die Maschinennr. " & frm.TextBox1.Value & " konnte nicht gefunden werden!")
End Sub</pre>

Danke euch mal wieder im vorraus
Gruß
Oswald

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

Betreff
Datum
Anwender
Anzeige
AW: Mit UserForm suchen und Weitersuchen
11.04.2004 20:22:00
Josef Ehrensberger
Hallo Oswald!
Z.B. so:

' **************************************************************
' Modul: UserForm2 Typ = Userform
' **************************************************************

Option Explicit
Dim rng As Range

Private Sub CommandButton4_Click() 'Maschinennr. suchen
Dim frm As Variant
Dim suchen As String
Dim rngA As Range
Set frm = UserForm2
On Error GoTo fehler
If rng Is Nothing Then
Set rngA = Sheets("Daten").Range("F65536")
Else
Set rngA = rng
End If
suchen = UserForm2.TextBox8.Value 'Maschinennr. zuweisen
Set rng = Sheets("Daten").Range("F:F").Find(What:=suchen, _
After:=rngA, _
LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False)
With frm
.TextBox1.Value = rng.Offset(0, -5).Value 'Datum
.TextBox2.Value = Format(rng.Offset(0, -4).Value, "hh:mm") 'Zeit von
.TextBox3.Value = Format(rng.Offset(0, -3).Value, "hh:mm") 'Zeit bis
.TextBox4.Value = rng.Offset(0, -2).Value 'Kunde
.TextBox5.Value = rng.Offset(0, -1).Value 'Ort / Land
.TextBox8.Value = rng.Value 'Maschinennummer
.TextBox9.Value = rng.Offset(0, 1).Value 'PKW KM
.TextBox6.Value = rng.Offset(0, 2).Value 'Pause
.TextBox7.Value = rng.Offset(0, 3).Value 'Spesen
End With
Exit Sub
fehler:
MsgBox ("Die Maschinennr. " & frm.TextBox1.Value & " konnte nicht gefunden werden!")
End Sub

Code eingefügt mit: Excel Code Jeanie

Gruß Sepp


Ein kluger Mann macht nicht alle Fehler selbst.
Er lässt auch anderen eine Chance.

(Sir Winston Churchill)


Anzeige
Perfekt, vielen Dank.
11.04.2004 20:47:00
Oswald
Hallo Sepp,
mal wieder vielen Dank. Hast mir perfekt geholfen.
Will jetzt nur noch rausfinden was du da so alles geändert hast und was es eigendlich bedeutet.
Bin nicht neugierig, aber wissen will ich es doch.
Schöne Ostern
Gruß
Oswald
Danke für die Rückmeldung! m.T.
11.04.2004 22:37:08
Josef Ehrensberger
Hallo Oswald!
Freut mich das es klappt!
Ich hab' gar nicht viel geändert, sondern nur ein paar Anpassungen
vorgenommen.
1. Die .Select und .Activate Befehle hab ich rausgenommen, weil
unnötig und lästig, ausser man steht auf psychodelisches Flimmern am Schirm.
2. Die Variable für die Fundstelle hab ich ausserhalb der Prozedur
deklariert, damit sie auch nach beendigung derselben erhalten bleibt.
3. Weil die Variable (rng) erhaltenbleibt, kann man, bei erneuten
Aufruf des Makros, ganz einfach weitersuchen.
4. Eine einfache Abfrage am beginn des Codes stellt fest, ob rng einen
Wert besitzt, wenn ja wird die Suche fortgesetzt, wenn nein, wird eine
neue suche gestartet.
Gruß Sepp

Ein kluger Mann macht nicht alle Fehler selbst.
Er lässt auch anderen eine Chance.

(Sir Winston Churchill)


Anzeige
Danke für die Erklärung! o. T.
12.04.2004 09:13:51
Oswald
Gruß
Oswald

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige