Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1204to1208
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
Inhaltsverzeichnis

Nach UnLoad Userform "hängt" es 10 sec im VB-Edito

Nach UnLoad Userform "hängt" es 10 sec im VB-Edito
Reinhard
Hallo Wissende,
aufgrund der Bitte eines Einzelnen hier mache ich dann doch einen neuen Thread auf. what arals.
https://www.herber.de/bbs/user/73905.xls
Problem, startet man in Excel 2000 die Prozedur "tt", so läuft die wie geplant ab. Ist die UF wieder weg kann man problemlos in Excel weiterarbeiten.
Im VB-Editor aber nicht. Wenn man da nicht oben auf Ausführen-- Zurücksetzen klickt, so kann man geschätzte 10 sec lang im Code nichts machen, also nicht mal ein Leerzeichen anhängen irgendwo o.ä..
Wodran bitte könnte das hängen, mehr DoEvents kann ich doch nicht einbauen.
(im Code ist Userform1, in der Datei userform2, aber das hängt mit Tests zusammen, hat keine Bedeutung, in den Testdateien war immer nur eine UF gleichzeitig im Test vorhanden.
Gruß ^ Danke
Reinhard
in Modul der Userform

Option Explicit
Private Sub UserForm_Activate()
DoEvents
Call tt
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then
MsgBox "Hinweisfenster nicht schliessen!", vbCritical
Cancel = 1
End If
End Sub
Private Sub UserForm_Initialize()
Me.Label1.Left = 0
Me.Label1.Height = Me.Height
Me.Label1.Width = 0
Me.Label1.Top = 0
UserForm1.Repaint
End Sub

In Modul1

Option Explicit
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub tt()
' seltsam, so 10 sec nach Beendigung der UF kann man in Editor nichts eingebem
' oder halt oben auf Ausführen--Zurücksetzen klicken! ?
' mehr als DoEvents fällt mir dazu nicht ein :-(
' in Excel kann man sofort nach der UF weiterarbeiten.
Dim N
UserForm2.Show 0
For N = 0 To 150
Call MeinBalken(150, N)
Sleep 100  'Millisekunden
DoEvents
Next N
DoEvents
Sleep 300
Unload UserForm1
DoEvents
End Sub
Sub MeinBalken(ByVal Anzahl As Long, ByVal N As Long)
Dim Breite As Single
Breite = UserForm1.Width / Anzahl * N
With UserForm1
.Label1.Width = Breite
.Caption = "Verlauf " & Format(N / Anzahl, "0.0 %")
.Caption = .Caption & " " & N & " / " & Anzahl
.Repaint
End With
End Sub

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

Betreff
Benutzer
Anzeige
AW: Nach UnLoad Userform "hängt" es 10 sec im VB-Edito
09.03.2011 19:16:26
Christian
Hallo Reinhard,
In XL2010 verhält sich deine Datei ähnlich. Ich vermute, dass bei der Datei etwas nicht stimmt.
Füge mal in eine neue leere Datei eine Userform mit einem Label ein und folgenden Code:
Option Explicit
Private Sub UserForm_Activate()
Dim i&
With Me.Label1
For i = 1 To 20
.Width = .Width + 5
DoEvents
Sleep 100
Next
End With
Unload Me
End Sub
Private Sub UserForm_Initialize()
With Me.Label1
.Left = 0
.Width = 0
End With
End Sub
und natürlich in ein allg. Modul
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

läuft bei mir ohne Fehler.
Gruß
Christian
Anzeige
AW: Nach UnLoad Userform "hängt" es 10 sec im VB-Edito
09.03.2011 20:02:37
Reinhard
Hallo Christian,
egal ob ich das Problem gelöst bekomme, aber sieht gut aus, was mich sehr beruhigt ist, daß du mit einem wahrscheinlich schnelleren Rechner und höherem Excel das Gleiche gesehen/erlebt hast.
Das bedeutet für mich, an meinem Excel 2000 liegt es nicht, am Code auch nicht*denk*
Nur mal so, wegen der Datei die möglicherweise und sehr hoffentlich marode ist, weil neue datei und es klappt wäre Klasse.
Deshalb auch Userform2 und Userform1.
Diese Userform2 habe ich durch Exportieren aus einer Datei von hier, im Betreff ging es irgendwie um Entfernungskilometer, in meine Datei importiert, dann meine Userform1 gelöscht. Vielleicht ging da was schief und es liegt daran.
Aber großen Dank ersataml daß du es probiert hast, ich melde mich wieder, wenn ich einen völlig neue mappe mit gleichem Code wieder erstellt habe.
Gruß
Reinhard
Anzeige
AW: Nach UnLoad Userform "hängt" es 10 sec im VB-Edito
09.03.2011 20:07:02
Nepumuk
Hallo,
klar, du rufst im Activate-Event des Userforms die Prozedur tt nochmal auf.
Gruß
Nepumuk
AW: Nach UnLoad Userform "hängt" es 10 sec im VB-Edito
09.03.2011 20:29:27
Reinhard
hallo Nepumuk,
como siempre, danke, ja das war es.
Gruß
Reinhard

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige