Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
320to324
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
320to324
320to324
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro soll trotz UserForm weiterlaufen

Makro soll trotz UserForm weiterlaufen
08.10.2003 11:25:09
Richi
Hallo Alle

Mein Problem ist folgendes:
Ich rufe aus einer Sub eine UserForm auf (mit .show). Diese UserForm soll jedoch nur als Statusanzeige, des im Hintergrund laufenden Makros dienen, und von diesem laufend aktualisiert werden. Wenn ich die UserForm jedoch aufrufe, passiert nichts weiter, bis ich bzw. der User diese wieder schliesst.
Ich will jedoch, dass die Userform angezeigt wird, aber das Makro trotzdem im Programmcode weiterfährt.
Ist das möglich, und wenn ja wie?

Danke für eure Hilfe

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro soll trotz UserForm weiterlaufen
08.10.2003 11:39:20
Hajo_Zi
Hallo Richi

starte Dein Makro aus der Userform


Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.

http://home.media-n.de/ziplies/

Neues Problem
08.10.2003 14:14:35
Richi
Hi, danke für deine Antwort

Also, ich hab das bis jetzt so gelöst:
Wenn das XLS-File geöffnet wird, wird mit "workbook_open" diese UserForm angezeigt. Sobald diese initialisiert, startet das wesentliche Makro.

Nun hab ich aber ein neues Problem:
Im wesentlichen Makro wird eine weitere UserForm angezeigt, in der der User verschiedene Daten eintragen kann, und die er anschliessend auch wieder schliessen "darf". Sobald diese UserForm geschlossen wird, beginnt das Makro merkwürdigerweise wieder von vorne. Ich habe keine Ahnung warum das so ist, wenn ich den Code schrittweise überprüfe (mit F8), läuft alles einwandfrei durch. Was kann ich da machen, ausser verzweifeln? ;-)

Gruss & thx
Anzeige
AW: Neues Problem
08.10.2003 14:20:38
Hajo_Zi
Hallo Richi

1. die meisten haben hier keine Glaskugel
2. die meisten haben kleinen Heiligenschein
3. die meisten können nicht auf Deinen Rechner schauen

für alle diese Leute ist die Antwort schneller erstellt, wenn Du den relevanten Code postest.

Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.

http://home.media-n.de/ziplies/

Anzeige
AW: Neues Problem
08.10.2003 15:54:45
Richi
Ok, ich hoffe, dieses sind die relevanten Stellen.


Private Sub workbook_open()
With Statusfenster
.status_bar.Width = 0        'Der Fortschrittsbalken wird auf 0 gesetzt
.Show                        'Das Statusfenster wird angezeigt
End With
End Sub


Sobald die Mappe geöffnet wird, wird das Statusfenster angezeigt.



Private Sub UserForm_activate()
If first_run <> True Then
main.main_run    first_run = True
'Mit der Variable "first_run" soll verhindert werden, dass wenn das Statusfenster
'ein zweites Mal aktiviert wird, dass das Makro "main.main_run" erneut startet
End If
End Sub


Sobald die UserForm angezeigt wird, wird das Makro gestartet

Sub main_run()

Const b_worksteps As Byte = 5
Dim open_cancel As Boolean
Dim retry_response As Byte

open_loop:
open_cancel = False
retry_response = 0

Statusfenster.workstep.Caption = "Arbeitsschritt 0 / " & b_worksteps

a_openfile.open_csvfile open_cancel
'Sobald diese Arbeitsmappe geöffnet wird, öffnet sich ebenfalls der "Datei öffnen" Dialog
'damit der User eine Comma-Delimited-Text-Datei öffnen kann

If open_cancel = True Then
Statusfenster.Hide
Exit Sub
End If

optionen.Show <--- Sobald diese UserForm beendet wird, beginnt das Makro von neuem
'Der User wird aufgefordert verschiedene Einstellungen die Prozedur betreffend vorzunehmen

Application.ScreenUpdating = False
Application.Wait (Now + TimeValue("0:00:01"))

... hier folgt weiterer Code, der meiner meinung nach, nichts dazu beiträgt.

End Sub



Der Code wirkt vielleicht ein bisschen chaotisch, aber nehmt es mir nicht übel, ich hab erst vor kurzem mit dem Makro-Programmieren begonnen.

Wie gesagt, das Makro "main-run" läuft einwandfrei, wenn ich es separat starte, also nicht mit der workbook_open().

@Hajo, sagt dir das jetzt mehr? :)
Anzeige
AW: Neues Problem
08.10.2003 17:02:40
Hajo_Zi
Hallo Richi

der Beitrag geht schon über mehrere Beiträge und auch über eine gewisse Zeit und es gibt Leute die mehr als ein Beitrag am Tag schreiben. Da wäre ein Hinweis um was es geht nicht schlecht.

Bei so einem Code wäre es besser gewesen eine Datei hochzuladen. Du spricht Steuerelemente und Userformen an und das ist sehr Zeitaufwendig dies nachzubauen.

Diese Zeit nehme ich mir nicht.


Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.

http://home.media-n.de/ziplies/

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige