Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Fehler VBA Code

Forumthread: Fehler VBA Code

Fehler VBA Code
24.09.2025 12:25:40
Tom
Hallo zusammen,
ich habe ein Code der einen Fortschrittsbalken (frmProgress) aufruft und es neben bei laufen soll.
Leider kommt ein Fehler und ich weiß nicht warum (Fehler beim kompilieren: Methode.... )

' Progress-Form starten
On Error GoTo ErrHandler
frmProgress.StartProgress "Kunde wird geladen..."


kann mir jemand sagen, was ich falsch mache?

Danke euch




' ? Auswahl übernehmen ? Anzeige!E2 schreiben + Fortschrittsbalken anzeigen
Private Sub cmdUebernehmen_Click()
Dim ws As Worksheet
Dim kundenNr As String
Dim i As Long

If Me.lstErgebnisse.ListIndex = -1 Then
MsgBox "Bitte einen Kunden auswählen!", vbExclamation
Exit Sub
End If

kundenNr = Split(Me.lstErgebnisse.Value, " | ")(0)

' Progress-Form starten
On Error GoTo ErrHandler
frmProgress.StartProgress "Kunde wird geladen..."

Set ws = ThisWorkbook.Sheets("Anzeige")
ws.Range("E2").Value = kundenNr

' --- Simulation eines langen Prozesses (15 Schritte á 1 Sekunde) ---
' Hier bitte DEINE echten Schritte einbauen, die lange dauern
For i = 1 To 15
Application.Wait Now + TimeValue("0:00:01")
frmProgress.UpdateProgress i / 15
Next i
' -------------------------------------------------------------------

frmProgress.EndProgress
Me.Hide
Exit Sub

ErrHandler:
MsgBox "Fehler " & Err.Number & ": " & Err.Description, vbCritical
On Error Resume Next
Unload frmProgress
End Sub

Private Sub cmdClose_Click()
Unload Me
End Sub
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Fehler VBA Code
24.09.2025 13:14:46
xlKing
Hi Tom,

mit diesem Code scheint auf den Ersten Blick alles in Ordnung zu sein. Welchen Code hast du denn im Formular frmProgress stehen?

Gruß Mr. K.
AW: Fehler VBA Code
24.09.2025 13:17:47
daniel
HI
schwer zu sagen, ohne die Form selbst zu kennen.
kannst du die Datei hochladen?

Wenn man eine Fehler hat und die Ursachen sucht, sollte man als erstes alle Routinen zur Fehlerbehandlung deaktivieren (einfach das On Error... auskommentieren)
Für die Fehlersuche ist wichtig, dass man genau weiß, welche Programmzeile den Fehler verursacht und welche Werte und Inhalte (Variablen usw) an dieser Stelle verwendet werden. Diese Informationen gehen bei einer Fehlerbehandlung verloren.

Wenn man Fehler mit Userformen hat, muss man zusätzlich die Einstellung im VBA-Editor:
Extras - Optionen - Allgemein - Unterbrechen bei Fehlern
prüfen. Dort sollte "In Klassenmodul" aktiviert sein, damit auch die Fehlerzeile in der Userform angezeigt wird, ansonsten wird die Zeile, die die Userform startet als Fehlerzeile angezeigt.

Gruß Daniel
Anzeige
AW: Fehler VBA Code
24.09.2025 19:38:55
Tom
Hallo,

ich habe versucht ein Beispieldatei zu erstellen:
https://www.herber.de/bbs/user/179049.xlsb

sobald der Wert eingetragen wird dauert es ca. 15 sek und dafür hätte ich gerne einen Balken :-)

Danke euch
Anzeige
AW: Fehler VBA Code
24.09.2025 20:14:12
daniel
Hi

wenn du diese Programmzeile schreibst:

frmProgress.StartProgress "Kunde wird geladen..."

dann benötigst du im Modul "frmProgress" ein Makro, das "StartProgress" heißt einen Übergabeparameter vom Typ Text hat.

dein Modul "frmProgress" hat aber keine Makros, die fehlen da.
Wo hast du das ganze denn her?
Hast du vergessen, was zu kopieren?

Gruß Daniel
Anzeige
AW: Fehler VBA Code
24.09.2025 21:10:58
Tom
Hallo Danke dir,

ich habe es über CHATGBT versucht :-)

Leider ohne erfolg
AW: Fehler VBA Code
24.09.2025 22:33:08
daniel
was sagt dir den ChatGPT zu diesen Makros?
ich helfe ja gerne Menschen, die versuchen selber programmieren zu lernen, aber wenn sich jemand irgendwas irgendwie im Internet zusammensucht und das funktioniert dann nicht, dann hab ich wenig Lust, das zu reparieren, da denke ich immer, wenn du dir von jemand anderen Code holst, dann soll der das auch zum Laufen bringen und nicht ich.

Aber für dich, wenn du lernen willst, es selber zu machen.

Wenn du eine Fortschrittsanzeige per Userform erstellen willst, dann geht das so:

1. Userform erstellen mit:
- einem Progressbar-Steuerelement
- ggf einem Label um Text anzuzeigen
- Eigenschaft: ShowModal muss auf False stehen, damit dein Makro weiterarbeiten kann während du arbeitest.

2. im eigentlichen Marko funktioniert das dann so.

die Userform muss einmalig gestartet werden:
frmFortschritt.Show False

um dann während dem Makrolauf den fortschritt anzeigen zu lassen, verwendest du folgende befehle:
frm.Fortschritt.Label1 = "Dein Hinweistext"

frmFortschritt.Progressbar1.Value = 50
frmFortschritt.Repaint

am Schluss dann
Unload frmFortschritt

"50" ist der Wert der den Fortschritt anzeigt, als Standard ein Wert zwischen 0 und 100.


Wenn du den Fortschritt aus einer anderen Userform heraus anzeigen lassen willst, dann kannst du das Steuerelment Progressbar auch dort direkt einbauen. Das ist dannn zwingend notwendig, wenn diese Userform modal ist (modal heißt, dass ein Weiterarbeiten in Excel erst möglich ist, wenn diese Userform geschlossen wurde.


Generell empfehle ich, den Fortschritt nicht über eine Userform, sondern über die Statusleiste anzuzeigen.
Das ist der Text mit den Infos von Excel am unteren Fensterrand, den kann man auch für eigene Informationen nutzen.
Application.Statusbar = "Dein Hinweistext"

und am Ende dann um die normalen Excelmeldungen wieder anzuzeigen
ApplicationStatusbar = False


Wenn man selber kein Profi ist, muss das Ergebnis auch nicht nach Profi aussehen.
Anzeige
AW: Fehler VBA Code
25.09.2025 20:58:12
Tom
Hallo Daniel,

wo muss ich das überall einsetzen?

Danke dir

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige