Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1524to1528
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
Problem mit UserForm_initialize
27.11.2016 12:12:25
Jürgen
Hallo und einen schönen Sonntag,
ich schlage mich seit ein paar Tagen mit folgendem Problem herum:
Ich habe in Excel 2010 in einer Tabelle zwei UserForms erstellt. Beide UserForms sind dazu da um mit den eingegebenen Daten eine weitere Tabelle zu füllen. In den User Forms gibt es Comboboxen in denen Auswahllisten hinterlegt sind. UserForm eins funktioniert einwandfrei. Bei UserForm zwei sind jedoch die Auswahllisten nicht hinterlegt. Ich beiße seit Tagen darauf herum, aber finde keine Lösung. Den Code für UserForm zwei schicke ich sicherheitshalber mal mit. Würde mich freuen wenn mir jemand helfen kann.
Viele Grüße Jürgen
Code zu UserForm2:

Private Sub CommandButton1_Click()
'Variable deklarieren
Dim erste_freie_Zeile As Integer
'erste freie Zeile in Blatt "Ausgabe" ermitteln
'und in Variable "erste_freie_Zeile" schreiben
erste_freie_Zeile = Sheets("Ausgabe").Range("A65536").End(xlUp).Offset(1, 0).Row
'In Blatt "Ausgabe"
'With Sheets("Ausgabe")
'Spalte Z, erste freie Zeile das AST_Kennzeichen im Textformat übertragen
Sheets("Ausgabe").Cells(erste_freie_Zeile, 26) = Format(TextBox1.Text)
'Spalte AA, erste freie Zeile die Fahrzeugart im Textformat übertragen
Sheets("Ausgabe").Cells(erste_freie_Zeile, 27) = Format(ComboBox1.Text)
'Spalte AB, erste freie Zeile die Türanzahl im Textformat übertragen
Sheets("Ausgabe").Cells(erste_freie_Zeile, 28) = Format(ComboBox9.Text)
'Spalte AC, erste freie Zeile den Hersteller im Textformat übertragen
Sheets("Ausgabe").Cells(erste_freie_Zeile, 29) = Format(TextBox2.Text)
'Spalte AD, erste freie Zeile den Typ im Textformat übertragen
Sheets("Ausgabe").Cells(erste_freie_Zeile, 30) = Format(TextBox3.Text)
'Spalte AE, erste freie Zeile die Ausführung im Textformat übertragen
Sheets("Ausgabe").Cells(erste_freie_Zeile, 31) = Format(TextBox4.Text)
'Spalte AF, erste freie Zeile die Identnummer im Textformat übertragen
Sheets("Ausgabe").Cells(erste_freie_Zeile, 32) = Format(TextBox5.Text)
'Spalte AG, erste freie Zeile die Antriebsart im Textformat übertragen
Sheets("Ausgabe").Cells(erste_freie_Zeile, 33) = Format(ComboBox3.Text)
'Spalte AH, erste freie Zeile die Motorbauform im Textformat übertragen
Sheets("Ausgabe").Cells(erste_freie_Zeile, 34) = Format(ComboBox7.Text)
'Spalte AI, erste freie Zeile die Zylinderanzahl im Textformat übertragen
Sheets("Ausgabe").Cells(erste_freie_Zeile, 35) = Format(ComboBox6.Text)
'Spalte AJ, erste freie Zeile die Getriebeart im Textformat übertragen
Sheets("Ausgabe").Cells(erste_freie_Zeile, 36) = Format(ComboBox5.Text)
'Spalte AK, erste freie Zeile die Gangzahl im Textformat übertragen
Sheets("Ausgabe").Cells(erste_freie_Zeile, 37) = Format(TextBox10.Text)
'Spalte AL, erste freie Zeile die Anzahl der Achsen im Textformat übertragen
Sheets("Ausgabe").Cells(erste_freie_Zeile, 38) = Format(TextBox16.Text)
'Spalte AM, erste freie Zeile die Anzahl der angetriebenen Achsen im Textformat übertragen
Sheets("Ausgabe").Cells(erste_freie_Zeile, 39) = Format(TextBox17.Text)
'Spalte AN, erste freie Zeile die Gesamtmasse im Textformat übertragen
Sheets("Ausgabe").Cells(erste_freie_Zeile, 40) = Format(TextBox14.Text)
'Spalte AO, erste freie Zeile die Leermasse im Textformat übertragen
Sheets("Ausgabe").Cells(erste_freie_Zeile, 41) = Format(TextBox15.Text)
'Spalte AQ, erste freie Zeile die Lackierungsfarbe im Textformat übertragen
Sheets("Ausgabe").Cells(erste_freie_Zeile, 43) = Format(TextBox8.Text)
'Spalte AR, erste freie Zeile die Lackierungsart im Textformat übertragen
Sheets("Ausgabe").Cells(erste_freie_Zeile, 44) = Format(ComboBox4.Text)
'Spalte AS, erste freie Zeile die Anzahl der Sitzplätze im Textformat übertragen
Sheets("Ausgabe").Cells(erste_freie_Zeile, 45) = Format(TextBox20.Text)
'Spalte AT, erste freie Zeile die Laufleistung im Textformat übertragen
Sheets("Ausgabe").Cells(erste_freie_Zeile, 46) = Format(TextBox9.Text)
'Spalte AU, erste freie Zeile die erste Zulassung im Textformat übertragen
Sheets("Ausgabe").Cells(erste_freie_Zeile, 47) = Format(TextBox18.Text)
'Spalte AV, erste freie Zeile die letzte Zulassung im Textformat übertragen
Sheets("Ausgabe").Cells(erste_freie_Zeile, 48) = Format(TextBox19.Text)
'Spalte AW, erste freie Zeile die Besitzeranzahl im Textformat übertragen
Sheets("Ausgabe").Cells(erste_freie_Zeile, 49) = Format(ComboBox8.Text)
'Spalte AX, erste freie Zeile die nächste HU im Textformat übertragen
Sheets("Ausgabe").Cells(erste_freie_Zeile, 50) = Format(TextBox21.Text)
'Spalte AY, erste freie Zeile die nächste SP im Textformat übertragen
Sheets("Ausgabe").Cells(erste_freie_Zeile, 51) = Format(TextBox23.Text)
'Spalte AZ, erste freie Zeile die nächste 57 B im Textformat übertragen
Sheets("Ausgabe").Cells(erste_freie_Zeile, 52) = Format(TextBox24.Text)
'Spalte BA, erste freie Zeile den Radstand im Textformat übertragen
Sheets("Ausgabe").Cells(erste_freie_Zeile, 53) = Format(TextBox11.Text)
'Spalte BB, erste freie Zeile die Reifengröße im Textformat übertragen
Sheets("Ausgabe").Cells(erste_freie_Zeile, 54) = Format(TextBox12.Text)
'Spalte BC, erste freie Zeile den Reifenhersteller im Textformat übertragen
Sheets("Ausgabe").Cells(erste_freie_Zeile, 55) = Format(TextBox13.Text)
'Spalte BD, erste freie Zeile die Profiltiefe im Textformat übertragen
Sheets("Ausgabe").Cells(erste_freie_Zeile, 56) = Format(TextBox22.Text)
'Spalte BE, erste freie Zeile den Allgemeinzustand im Textformat übertragen
Sheets("Ausgabe").Cells(erste_freie_Zeile, 57) = Format(ComboBox10.Text)
'Spalte BF, erste freie Zeile den Lackzustand im Textformat übertragen
Sheets("Ausgabe").Cells(erste_freie_Zeile, 58) = Format(ComboBox11.Text)
'Spalte BG, erste freie Zeile die reparierten Vorschäden im Textformat übertragen
Sheets("Ausgabe").Cells(erste_freie_Zeile, 59) = Format(TextBox26.Text)
'Spalte BH, erste freie Zeile die unreparierten Vorschäden im Textformat übertragen
Sheets("Ausgabe").Cells(erste_freie_Zeile, 60) = Format(TextBox25.Text)
'Spalte BI, erste freie Zeile den Hubraum im Textformat übertragen
Sheets("Ausgabe").Cells(erste_freie_Zeile, 61) = Format(TextBox7.Text)
'Spalte BJ, erste freie Zeile die Leistung im Textformat übertragen
Sheets("Ausgabe").Cells(erste_freie_Zeile, 62) = Format(TextBox6.Text)
'Spalte BK, erste freie Zeile die Unterrostungen im Textformat übertragen
Sheets("Ausgabe").Cells(erste_freie_Zeile, 63) = Format(TextBox27.Text)
'Spalte BL, erste freie Zeile den Aufbau im Textformat übertragen
Sheets("Ausgabe").Cells(erste_freie_Zeile, 64) = Format(ComboBox2.Text)
'Spalte BM, erste freie Zeile die Schadensbeschreibung im Textformat übertragen
Sheets("Ausgabe").Cells(erste_freie_Zeile, 65) = Format(TextBox28.Text)
'End With
Unload Me
End Sub

Private Sub CommandButton2_Click()
'UserForm schließen
Unload Me
End Sub
Private Sub UserForm2_Activate()
Dim Fahrzeugart As Integer
Dim Aufbau As Integer
Dim Antrieb  As Integer
Dim Bes_Anz As Integer
Dim Anz_Tuer As Integer
Dim Allg_Zus As Integer
Dim Lack_zus As Integer
Dim Lack_art As Integer
Dim Getr_Art As Integer
Dim Zyl_anz As Integer
Dim Bauform As Integer
'Schleife zum Füllen der ComboBox mit den Daten aus Blatt "Auswahllisten"
'Spalte G ab Zeile 1 bis zur letzten gefüllten Zeile
For Fahrzeugart = 2 To Sheets("Auswahllisten").Range("B65536").End(xlUp).Row
ComboBox1.AddItem Sheets("Auswahllisten").Cells(Fahrzeugart, 2)
Next
For Aufbau = 2 To Sheets("Auswahllisten").Range("J65536").End(xlUp).Row
ComboBox2.AddItem Sheets("Auswahllisten").Cells(Aufbau, 10)
Next
For Antrieb = 2 To Sheets("Auswahllisten").Range("H65536").End(xlUp).Row
ComboBox3.AddItem Sheets("Auswahllisten").Cells(Antrieb, 8)
Next
For Bes_Anz = 2 To Sheets("Auswahllisten").Range("K65536").End(xlUp).Row
ComboBox8.AddItem Sheets("Auswahllisten").Cells(Bes_Anz, 11)
Next
For Anz_Tuer = 2 To Sheets("Auswahllisten").Range("L65536").End(xlUp).Row
ComboBox9.AddItem Sheets("Auswahllisten").Cells(Anz_Tuer, 12)
Next
For Allg_Zus = 2 To Sheets("Auswahllisten").Range("E65536").End(xlUp).Row
ComboBox10.AddItem Sheets("Auswahllisten").Cells(Allg_Zus, 5)
Next
For Lack_zus = 2 To Sheets("Auswahllisten").Range("E65536").End(xlUp).Row
ComboBox11.AddItem Sheets("Auswahllisten").Cells(Lack_zus, 5)
Next
For Lack_art = 2 To Sheets("Auswahllisten").Range("D65536").End(xlUp).Row
ComboBox4.AddItem Sheets("Auswahllisten").Cells(Lack_art, 4)
Next
For Getr_Art = 2 To Sheets("Auswahllisten").Range("F65536").End(xlUp).Row
ComboBox5.AddItem Sheets("Auswahllisten").Cells(Getr_Art, 6)
Next
For Zyl_anz = 2 To Sheets("Auswahllisten").Range("I65536").End(xlUp).Row
ComboBox6.AddItem Sheets("Auswahllisten").Cells(Zyl_anz, 9)
Next
For Bauform = 2 To Sheets("Auswahllisten").Range("C").End(xlUp).Row
ComboBox7.AddItem Sheets("Auswahllisten").Cells(Bauform, 3)
Next
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Problem mit UserForm_initialize
27.11.2016 13:09:06
Gerd
Hallo Jürgen!
Bei UserForm zwei sind jedoch die Auswahllisten nicht hinterlegt.

Werden die richtigen Zellen angesprochen?
Btw.: Private Sub UserForm_Activate() 'ohne die Userformnummer!
Gruß Gerd
AW: Problem mit UserForm_initialize
27.11.2016 13:58:18
Jürgen
Hallo Gerd, danke für deinen Hinweis. Habe bis jetzt keine falschen angesprochenen Zellen gefunden. Wenn ich bei UserForm_activate die Nummer rausnehme, erhalte ich immer einen Laufzeitfehler 1004. Ist die Nummer drin, kann ich die Form wieder ganz normal starten, nur eben ohne die Auswahllisten.
Gruß
Jürgen
AW: Problem mit UserForm_initialize
27.11.2016 14:23:59
Gerd
Hallo Jürgen,
sogenannte integrierte Ereignisprozeduren haben einen feststehenden Ausdruck als Kopfzeile der Prozedur.
Man kann den Prozedurenrumpf (Kopfzeile + Schlußzeile) im Codefenster des Moduls auswählen.
Übernimmst du dies unverändert u. erhältst eine Fehlermeldung muss ggf. der dazwischen eingefügte Code korrigiert werden.
Änderst du die Bezeichnung der Prozedur ab, ist es eine benutzerdefinierte Prozedur, die nicht "automatisch" ausgelöst wird.
Ohne Kenntnis der Basis (Datei u. Code) kann ich nicht mehr dazu schreiben.
Gruß Gerd
Anzeige
AW: Problem mit UserForm_initialize
28.11.2016 07:21:27
Jürgen
Guten Morgen Gerd,
hab das ganze nochmal überschlafen und heut nochmal neu geschrieben. Du hattest recht! Im letzten Befehlsblock bei Range war der Fehler. Jetzt hauts hin. Bin Happy.
Vielen Dank für deine Mühen. :)

80 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige