Das Archiv des Excel-Forums
Makro soll trotz UserForm weiterlaufen
Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Betrifft: Makro soll trotz UserForm weiterlaufen
von: Richi
Geschrieben am: 08.10.2003 11:25:09
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
Betrifft: AW: Makro soll trotz UserForm weiterlaufen
von: Hajo_Zi
Geschrieben am: 08.10.2003 11:39:20
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/
Betrifft: Neues Problem
von: Richi
Geschrieben am: 08.10.2003 14:14:35
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
Betrifft: AW: Neues Problem
von: Hajo_Zi
Geschrieben am: 08.10.2003 14:20:38
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/
Betrifft: AW: Neues Problem
von: Richi
Geschrieben am: 08.10.2003 15:54:45
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? :)
Betrifft: AW: Neues Problem
von: Hajo_Zi
Geschrieben am: 08.10.2003 17:02:40
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/
Excel-Beispiele zum Thema " Makro soll trotz UserForm weiterlaufen"