Ich habe ein Formular, welches mit dem Öffnen der Datei aufgerufen wird.
Auf diesem Formular habe ich unter anderem mehrere Textfelder und Auswahlboxen.
Ebenfalls befindet sich dort ein Button, welcher beim klicken die Felder Textfelder leeren und die Auswahlboxen zurücksetzen soll. Doch dies funktionert nicht. Solange das Formular aufgerufen ist, kann ich das Makro dafür noch nichtmal mit F8 durchlaufen lassen.
Beim Öffnen der datei, startet dieser Code die Eingabemaske:
Private Sub Workbook_Open()
Eingabemaske_starten
End Sub
Dies ruft dann diese Prozedur in einem Modul auf:
Sub Eingabemaske_starten()
'auch über STRG + m möglich
Dim anzahl As Integer
'Grundeinstellungen für Optionsfelder
Eingabemaske.Kurs1.Value = True
'Bildungsabschlüsse vorgeben
With Eingabemaske.Bildung
.AddItem "Hauptschulabschluss"
.AddItem "Realschulabschluss"
.AddItem "Allgemeine Hochschulreife"
.AddItem "Bachelor Abschluss"
.AddItem "Master Abschluss"
.AddItem "Promotion"
.AddItem "Habilitation"
End With
'Vorgaben für Bundesländer
Eingabemaske.Bundesland.RowSource = "Hilfstabelle!A1:A16"
'Vorgaben für Kurse im Semester
For anzahl = 1 To 6
Eingabemaske.Kurse.AddItem anzahl
Next anzahl
Eingabemaske.Kurse.AddItem ">6"
'aktuelles Datum anzeigen
With Eingabemaske.Anzeige_Datum
.Value = Date
.SelectionMargin = False
.TextAlign = fmTextAlignCenter
End With
'Eingabemaske aufrufen
Eingabemaske.Show
End Sub
Soweit passt auch alles.
Jetzt habe ich in "Dieser Arbeitsmappe", wo auch das erste Sub sich befindet dieses hier:
Sub cmd_loeschen_Click()
Eingaben_loeschen
End Sub
Dieses sollte dann diese Prozedur starten, was allerdings nicht funktioniert:
Sub Eingaben_loeschen()
Dim element As Object
'Löschen der aktuellen Formularinhalte
For Each element In Eingabemaske.Controls
If TypeName(element) = "TextBox" Then element.Value = ""
If TypeName(element) = "ComboBox" Then element.Value = ""
If TypeName(element) = "CheckBox" Then element.Value = False
Next
'Grundeinstellungen bei Optionsfelder vornehmen
Eingabemaske.Gender_neutral.Value = True
Eingabemaske.Vorkenntnisse_neutral.Value = True
Eingabemaske.Kurs1.Value = True
End Sub
Ich habe alles mehrfach mit dem Beispiel in meinem Buch verglichen um Rechtschreibfehler zu finden, aber ich habe nichts gefunden. U
Kann mir irgendjemand sagen, warum sich dieses Sub zum "zurücksetzen" nicht starten lässt, solange das Formular aufgerufen ist?