AW: Info-Box während Makro läuft
09.03.2011 11:35:55
Reinhard
Hallo Julia,
für mitlesende Kundige, nachfolgend das Fett geschriebene in Prozedur tt ist das noch vorhandene Problem, deshalb Frage noch offen.
ich hab was gebastelt aus Hajos Code und einem Code der kürzlich hier war äh ist.
https://www.herber.de/bbs/user/73905.xls
Wenn du das auch nicht runterladen kannst, mußte halt selbst die Codes einfügen usw.
Das was in tt ist müßtest du in deinen Code des CB einbauen. Wenn du das nicht schaffst nachdem du es eifrig probiert hast zeig ihn halt mal.
im Vb-Editor, Einfügen Userform.
Ziehe dir sie so breit wie du willst und so 1 cder 2 hoch.
Mit F4 erscheinen ihre Eigenschaften, such dir was buntes aus bei BackColor.
Über Werkzeugsymbolleiste ziehst du noch ein Bezeichnungsfeld (Label1) rein.
Dann Doppelklick auf die UF. Beim Code gibst du ein:
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
Jetzt Einfügen---Modul, dort folgenden Code rein:
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