Anzeige
Archiv - Navigation
824to828
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
824to828
824to828
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Fortschrittsanzeige in Formular

Fortschrittsanzeige in Formular
29.11.2006 17:09:29
roland_k
hoi guten abend zusammen...bin mal wieder am stricken..(dicke Finger) grrrrrrrr
das ding habe ich nach Vorschlag von hier gebastelt:

Private Sub CommandButton1_Click()
----------userform ShowModal = False
UserForm1.Show
UserForm1.Repaint
Code....
Unload UserForm1
End Sub

das ganze funkioniert so richtig....die userform ist sichtbar, so lange, wie der code abgearbeitet wird.
nun habe ich aus Kompendium von Bernd Held folgenden Code:

Private Sub UserForm_Activate()
Label2.Width = 0
iMax = 3000
For i = 1 To iMax
Label2.Width = (i + 1) / 10
Label2.TextAlign = fmTextAlignCenter
Label2.Caption = Int(i / 30) & " %"
Label2.Font.Bold = True
Label2.ForeColor = RGB(256, 256, 256)
DoEvents
Next
End Sub

das funktioniert so...der fortschrittsbalken zeigt einfach an den Fortschritt
von i = 1 bis iMax = 3000
aber !!?!!
ich will, dass der Fortschrittsbalken nach Ablauf von
code..
......
......
im ersten Beispiel kontinuierlich bis auf max Länge des Label2 anzeigt.
kann ich denn die codezeilen zählen ....incl..die darin befindlichen schleifen
ich meine alle schritte im code ....., diese dann als i max anzeigen ?
hoffentlich habe ich das klar ausgedrückt, es wäre toll wen sich da jemand mit auseinandersetzt und den Weg aufzeigen koennte.
vielen dank im voraus
gruss roland_k

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fortschrittsanzeige in Formular
29.11.2006 19:13:18
ramses
Hallo
Das sollte ja nun nix neues sein:
Ohne Code,... was sollen wir dir sagen ?
ICH weiss wie es geht bzw. wie ich es machen würde,... aber ich will hier nichts für nix und wieder nix erklären und zum Schluss dann doch nicht auf deinen Code passt.
Gruss Rainer
AW: Fortschrittsanzeige in Formular
29.11.2006 19:23:33
roland_k
hallo rainer,
hier ist der ganze code....dessen ablauf angezeigt werden soll

Private Sub CommandButton1_Click()
frage = MsgBox("willst du spieler von hand setzen?", vbYesNo)
If frage = vbYes Then
MsgBox "klicke auf einen Namen links in der namensspalte"
Exit Sub
End If
UserForm1.Show
UserForm1.Repaint
Application.ScreenUpdating = False
anztisch = Cells(6, 1) + Cells(9, 1)            'Platz 1
For i = 1 To anztisch * 2 Step 2
loss = Range("E42").End(xlUp).Row - 2
iloss = (Int(loss * Rnd) + 1)
If Cells(4 + i, 11) <> "" Then GoTo weiter1
Cells(4 + i, 11) = Cells(iloss + 2, 3)
Cells(4 + i, 11).Interior.ColorIndex = 4
Cells(4 + i, 10).Interior.ColorIndex = 4
Cells(iloss + 2, 3).ClearContents
Cells(iloss + 2, 4).ClearContents
Cells(iloss + 2, 5).ClearContents
sortieren.sort_nach_S
'MsgBox Cells(4 + i, 11)
weiter1:
Next i
For i = 1 To anztisch * 2 Step 2                'Platz 2
loss = Range("C42").End(xlUp).Row - 2
iloss = (Int(loss * Rnd) + 1)
If Cells(4 + i, 12) <> "" Then GoTo weiter2
Cells(4 + i, 12) = Cells(iloss + 2, 3)
Cells(4 + i, 12).Interior.ColorIndex = 4
Cells(iloss + 2, 3).ClearContents
Cells(iloss + 2, 4).ClearContents
Cells(iloss + 2, 5).ClearContents
sortieren.sort_nach_Namen
'MsgBox Cells(4 + i, 12)
weiter2:
Next i
For i = 1 To anztisch * 2 Step 2                'Platz3
loss = Range("C42").End(xlUp).Row - 2
iloss = (Int(loss * Rnd) + 1)
If Cells(4 + i, 13) <> "" Then GoTo weiter3
Cells(4 + i, 13) = Cells(iloss + 2, 3)
Cells(4 + i, 13).Interior.ColorIndex = 4
Cells(iloss + 2, 3).ClearContents
Cells(iloss + 2, 4).ClearContents
Cells(iloss + 2, 5).ClearContents
sortieren.sort_nach_Namen
'MsgBox Cells(4 + i, 13)
weiter3:
Next i
For i = 1 To anztisch * 2 Step 2                'Platz4
loss = Range("C42").End(xlUp).Row - 2
iloss = (Int(loss * Rnd) + 1)
If Cells(4 + i, 14) <> "" Then GoTo weiter4
Cells(4 + i, 14) = Cells(iloss + 2, 3)
Cells(4 + i, 14).Interior.ColorIndex = 4
Cells(iloss + 2, 3).ClearContents
Cells(iloss + 2, 4).ClearContents
Cells(iloss + 2, 5).ClearContents
sortieren.sort_nach_Namen
'MsgBox Cells(4 + i, 14)
weiter4:
Next i
CommandButton1.Visible = False
CommandButton2.Visible = True
Application.ScreenUpdating = True
Unload UserForm1
End Sub


Private Sub CommandButton2_Click()
MsgBox "alles erledigt gehe auf tabelle Start"
End Sub


Private Sub Worksheet_Activate()
Dim zeile As Integer
Dim spalte As Integer
Dim zelle As Range
Sheets("Tische").Range("K4:N23").ClearContents
Sheets("Tische").Range("J4:N23").Interior.ColorIndex = 15
CommandButton1.Visible = True
CommandButton2.Visible = False
Range("C3:E42").ClearContents
Cells(3, 1) = ""
Cells(6, 1) = ""
Cells(9, 1) = ""
With Sheets("Start")
Cells(3, 1) = .Cells(3, 11)
Cells(6, 1) = .Cells(9, 11)
Cells(9, 1) = .Cells(15, 11)
For zeile = 3 To 22
For spalte = 3 To 7 Step 4
Set zelle = .Cells(zeile, spalte)
If zelle.Interior.ColorIndex = 4 Then
If spalte = 3 Then
Cells(zeile, 3) = zelle
Cells(zeile, 4) = .Cells(zeile, spalte + 1)
Cells(zeile, 5) = .Cells(zeile, spalte + 2)
Else
Cells(zeile + 20, 3) = zelle
Cells(zeile + 20, 4) = .Cells(zeile, spalte + 1)
Cells(zeile + 20, 5) = .Cells(zeile, spalte + 2)
End If
End If
Next spalte
Next zeile
Set zelle = Nothing
End With
sortieren.sort_nach_S
End Sub

ich hoffe ....kannst mir da helfen ?
gruss roland_k
Anzeige
AW: Fortschrittsanzeige in Formular
29.11.2006 20:15:17
ramses
Hallo
Ohne jetzt genau zu wissen wie deine UF aufgebaut ist würde ich es hier so lösen:
Siehe Beispiel Datei.
Dort ist VOR der Textbox eine zweite Textbox mit der Basisweite 1 eingebaut !
https://www.herber.de/bbs/user/38624.xls
Das Prinzip kannst du analog in deinen Code einbauen
Gruss Rainer
AW: Fortschrittsanzeige in Formular
29.11.2006 20:41:57
roland_k
hi rainer..
habe doch aufbau der userform beschrieben ...
kan daa nicht folgen ...wie ich das einbauen soll..
gruss roland_k
AW: Fortschrittsanzeige in Formular
29.11.2006 21:37:35
ramses
hallo
Gehe doch das ganze mal im Einzelschritt.Modus durch, da kommst du ganz einfach drauf.
Anstelle meiner fortlaufenden Eintragungen in die Zelle läuft bei dir einfach eine deiner Schleifen.
Dazwischen veränderst du einfach die Weite des "Fortschrittbalkens" = "txtFore"
Gruss Rainer
Anzeige
läuft bestens ..Danke
30.11.2006 04:41:51
roland_k
hi rainer,
danke für deine geduld.
habe das eingebaut mit text platz1 ...platz2 usw
sorry aber das mit dem Einbauen hätte wohl wissen muessen.
bin happy....echt gut geworden
nachsatz wäre noch:

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 188 Then
KeyCode = 190
End If
End Sub

was passiert hier denn in Worten umschrieben
nochmals danke für deine Erklärung
gruss roland_k
AW: läuft bestens ..Danke
30.11.2006 20:28:32
ramses
Hallo
Wenn der Fokus in der Textbox ist und über die Tastatur eine Eingabe erfolgt, wird jeder Tastaturcode abgefangen und geprüft.
Wenn ein "Komma" eingegeben wird, wird die Eingabe "Abgefangen" und stattdessen der Code für einen "Punkt" weitergegeben, der dann eben auch in der Textbox statt dem Komma ausgegeben wird.
Gruss Rainer
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige