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

UserForm - letzter Versuch

UserForm - letzter Versuch
07.10.2003 11:41:36
Carsten
Hallo zusammen,

ich habe diese Frage hier bereits mehrfach gestellt. Leider konnte mir bisher niemand helfen.
Vielleicht findet sich im letzten Versuch doch noch eine Lösung.

Ich habe eine Userform. Durch einen Klick auf einen Button wird eine Suchfunktion gestartet, je nach Einstellung nur im aktuellen Blatt oder aber über alle Tabellenblätter.
Den Code für diese Suchfunktion habe ich im Netz gefunden. Beim Original-Code wurde nach jeder Fundstelle eine MsgBox aufgerufen um nachzufragen ob die Suche fortgesetzt werden soll. Ich möchte jedoch nicht mit einer MsgBox arbeiten sondern die Ausführung des Codes anhalten bis erneut der Button in der UserForm gedrückt wird. Das ganze soll also genau wie die Excel-Suchfunktion funktionieren.
Leider schaffe ich es nicht, nach einer Fundstelle das Makro zu stoppen. Ich kann die UserForm auch nicht über .Show ansprechen, da sie zur Laufzeit nicht ausgeblendet ist.

Ich hoffe, Ihr versteht mein Problem und habt evtl. doch noch eine Lösung für mich.

Hier noch der derzeitige Code:

Option Explicit

Private Sub CommandButton1_Click()
Dim t As Worksheet, z As Range, SuchW As String, counter As Integer, ausgabe As String, knopf As Integer, erste As String, i As String
SuchW = TextBox1.Value
If SuchW = "" Then Exit Sub
For Each t In Worksheets
t.Activate
Set z = t.Cells.Find(SuchW)
If Not z Is Nothing Then
erste = z.Address
Do
z.Activate
UserForm1.Show
Set z = Cells.FindNext(after:=ActiveCell)
Loop Until erste = z.Address
End If
If UserForm1.CheckBox3 = Enabled Then Else Exit Sub
Next t
End Sub


Gruß
Carsten

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UserForm - letzter Versuch
07.10.2003 11:58:48
Michael Scheffler
Hi,

Du solltest Dich mal mit dem Schlüsselwort "Me" vertraut machen.

UserForm1.Show -> Me.Show

Dann wird die aktuelle Instanz aufgerufen!

Gruß

Micha
AW: UserForm - letzter Versuch
07.10.2003 12:17:26
Carsten
Hallo Michael,

ich habe UserForm1.Show durch Me.Show ersetzt. Leider bringt das Ganze keinen Erfolg.

Hast Du noch eine andere Idee?

Gruß
Carsten
AW: UserForm - letzter Versuch
07.10.2003 11:58:51
Michael Scheffler
Hi,

Du solltest Dich mal mit dem Schlüsselwort "Me" vertraut machen.

UserForm1.Show -> Me.Show

Dann wird die aktuelle Instanz aufgerufen!

Gruß

Micha
AW: UserForm - letzter Versuch
07.10.2003 12:09:41
Nike
Hi,

poste mal die Datei in der du die UF anwenden möchtest...

Bye

Nike
Anzeige
AW: UserForm - letzter Versuch
07.10.2003 12:24:39
Carsten
Hallo Nike,

hier die Datei mit der UF: https://www.herber.de/bbs/user/1306.xls

Die Datei ist leer, das ich die UserForm aus der Personl.xls exportiert habe.

Gruß
Carsten
AW: UserForm - letzter Versuch
07.10.2003 13:42:36
Nike
Hi,
da die Mappe ansonsten leer war kann ich den Code nicht testen,
ein paar Dummy Datensätze hätten nicht geschadet ;-)

Naja, versuchs mal so:

Option Explicit

Public rng As Range
Public wks As Worksheet

Private Sub CommandButton1_Click()
Dim t As Worksheet, z As Range, SuchW As String, counter As Integer, ausgabe As String, knopf As Integer, erste As String, i As String
SuchW = TextBox1.Value
If SuchW = "" Then Exit Sub
If rng Is Nothing Then
For Each t In Worksheets
t.Activate
Set z = t.Cells.Find(SuchW)
If Not z Is Nothing Then
z.Activate
Set rng = z
Set wks = t
Exit Sub
End If
Next t
Else
For i = wks.Index To Worksheets.Count
With Worksheets(i)
Set z = .Cells.Find(SuchW, rng)
If Not z Is Nothing Then
z.Activate
Set rng = z
Set wks = Worksheets(i)
Exit Sub
End If
End With
Next
End If
End Sub


Der Code ist nicht trivial, da du aus der UF den Find machst,
dann unterbrichst und dann wieder den Einstieg finden mußt...
Bin mir nicht sicher, ob's so funkt, aber schaun mer mal ;-)

Bye

Nike
Anzeige
AW: UserForm - letzter Versuch
07.10.2003 15:03:58
Carsten
Hallo Nike,

in der Datei sind absichtlich keine Datensätze. Ich möchte damit die eigentliche Excel-Suchfunktion ersetzen, da die ja in Excel 2000 noch nicht über alle Blätter sucht (es sei denn, man gruppiert die Blätter)

Wie dem auch sei, Dein Code wird hier

For i = wks.Index To Worksheets.Count

abgebrochen. Typen unverträglich

Hast Du noch eine Idee?

Gruß
Carsten
AW: UserForm - letzter Versuch
07.10.2003 15:30:18
Nike
Hi,
naja dimmen sollte man das i bei option explict halt schon ;-)
Dim i as integer
das as string kommt doch nicht von mir, oder?

Ich kann ja schlecht nen Zähler als Buchstabe deklarieren...

Bye

Nike
Anzeige
AW: UserForm - letzter Versuch
07.10.2003 15:53:01
Carsten
Hallo Nike,

das sieht schon gut aus, danke.
Jetzt muß ich nur noch tüftel, wie ich die weiteren Optionen einbinden kann.
Mal sehen wie weit ich komme.

Gruß
Carsten

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige