Herbers Excel-Forum - das Archiv

Laufzeitfehler 424

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Laufzeitfehler 424
von: Josef

Geschrieben am: 03.04.2005 17:52:11
Hallo!
Ich bekomme, nachdem ich in einer Userform eine Änderung durchgeführt habe, und diese Userform danach aurufe, den Laufzeitfehler 424 (Objekt erforderlich).
Wenn ich diese Meldung wegklicke, dann kann ich diese Userform immer wieder aufrufen, ohne dass diese Fehlermeldung erscheint. Alles funktioniert bestens.
Außer ich ändere wieder etwas, dann ist dieser fehler wieder da. Was könnte ich hier bitte falsch gemacht haben?

Danke

josef
Bild

Betrifft: AW: Laufzeitfehler 424
von: Josef

Geschrieben am: 03.04.2005 19:57:01
Hallo!
Könnte es möglich sein, dass dieser Laufzeitfehler kommt, weil bei der Initialsierung der Userform z.B. eine ComboBox angesprochen wird, welche aus beabsichtigtem Grund noch nicht sichtbar ist?
Ich habe einige Commandbutton, wo nach Drücken dieser Frames geschlossen bzw. andere Frames geöffnet werden. In diesen Frames gibt es einige ComboBoxen welche über die Initialiserung befüllt werden.

Josef
Bild

Betrifft: Hier wäre der Code
von: Josef

Geschrieben am: 03.04.2005 21:09:14
Hallo nochmals!
Wenn der Fehler beim Aufrufen der Userform erfolgt, nehme ich mal an dass der Fehler nur bei UserForm_Activate oder bei UserForm_Initialize liegen kann.
Hier wäre der Code:
Private Sub UserForm_Activate()
Frame1.Visible = True  'Sart 00
Frame11.Visible = False 'Sart 99
Frame12.Visible = True 'Sart
Frame13.Visible = False 'Sart
End Sub

Private Sub UserForm_Initialize()
If Frame1.Visible = True Then
ComboBox7.AddItem "01" 'ListIndex = 0
ComboBox7.AddItem "02"
ComboBox7.AddItem "03"
ComboBox7.AddItem "04"
ComboBox7.AddItem "05"
ComboBox7.AddItem "06"
ComboBox7.AddItem "07"
ComboBox7.AddItem "08"
ComboBox7.AddItem "09"
ComboBox7.AddItem "10"
ComboBox7.AddItem "11"
ComboBox7.AddItem "12"
ComboBox7.AddItem "13"
ComboBox7.AddItem "14"
ComboBox7.AddItem "15"
ComboBox7.AddItem "16"
ComboBox7.AddItem "17"
ComboBox7.AddItem "18"
ComboBox7.AddItem "19"
ComboBox7.AddItem "20"
ComboBox7.AddItem "21"
ComboBox7.Style = fmStyleDropDownList
ComboBox7.BoundColumn = 0
ComboBox7.ListIndex = 0
'ComboBox9
ComboBox9.AddItem "0"        'ListIndex = 0
ComboBox9.AddItem "1"     'ListIndex = 1
ComboBox9.Style = fmStyleDropDownList  'Dropdown-Liste verwenden
ComboBox9.BoundColumn = 0            'Werte im Kombinationsfeld entsprechen den Werten für ListIndex
ComboBox9.ListIndex = 0              'Kombinationsfeld auf ersten Eintrag festlegen
TextBox129 = Format(Date, "ddmmyy")
End If
If Frame13.Visible = True Then
'ComboBox6
ComboBox6.AddItem "1"        'ListIndex = 0
ComboBox6.AddItem "2"     'ListIndex = 1
ComboBox6.AddItem "3"     'ListIndex = 2
ComboBox6.AddItem "4"       'ListIndex = 3
ComboBox6.AddItem "5"    'ListIndex = 4
ComboBox6.AddItem "6"    'ListIndex = 5
ComboBox6.AddItem "7"      'ListIndex = 6
ComboBox6.AddItem "8"    'ListIndex = 7
ComboBox6.AddItem "9"    'ListIndex = 8
ComboBox6.Style = fmStyleDropDownList  'Dropdown-Liste verwenden
ComboBox6.BoundColumn = 0            'Werte im Kombinationsfeld entsprechen den Werten für ListIndex
ComboBox6.ListIndex = 0              'Kombinationsfeld auf ersten Eintrag festlegenox13.RowSource = "Codes!S5:S261" '& Sheets("Tabelle2").Range("A65536").End(xlUp).Row
'ComboBox10
ComboBox10.AddItem "00000"
ComboBox10.AddItem "00001"
ComboBox10.AddItem "00002"
ComboBox10.AddItem "00003"
ComboBox10.AddItem "00004"
ComboBox10.AddItem "00005"
ComboBox10.AddItem "00006"
ComboBox10.AddItem "00007"
ComboBox10.AddItem "00008"
ComboBox10.AddItem "00009"
ComboBox10.AddItem "00010"
ComboBox10.AddItem "00011"
ComboBox10.AddItem "00012"
ComboBox10.AddItem "00013"
ComboBox10.AddItem "00014"
ComboBox10.AddItem "00015"
ComboBox10.AddItem "00016"
ComboBox10.AddItem "00017"
ComboBox10.AddItem "00018"
ComboBox10.AddItem "00019"
ComboBox10.AddItem "00020"
ComboBox10.AddItem "00021"
ComboBox10.AddItem "00022"
ComboBox10.AddItem "00023"
ComboBox10.AddItem "00024"
ComboBox10.AddItem "00025"
ComboBox10.AddItem "00026"
ComboBox10.AddItem "00027"
ComboBox10.AddItem "00028"
ComboBox10.AddItem "00029"
ComboBox10.AddItem "00030"
ComboBox10.AddItem "00031"
ComboBox10.AddItem "00032"
ComboBox10.AddItem "00033"
ComboBox10.AddItem "00034"
ComboBox10.AddItem "00035"
ComboBox10.AddItem "00036"
ComboBox10.AddItem "00037"
ComboBox10.AddItem "00038"
ComboBox10.AddItem "00039"
ComboBox10.AddItem "00040"
ComboBox10.AddItem "00041"
ComboBox10.AddItem "00042"
ComboBox10.AddItem "00043"
ComboBox10.AddItem "00044"
ComboBox10.AddItem "00045"
ComboBox10.AddItem "00046"
ComboBox10.AddItem "00047"
ComboBox10.AddItem "00048"
ComboBox10.AddItem "00049"
ComboBox10.AddItem "00050"
ComboBox10.AddItem "00051"
ComboBox10.AddItem "00052"
ComboBox10.AddItem "00053"
ComboBox10.AddItem "00054"
ComboBox10.AddItem "00055"
ComboBox10.AddItem "00056"
ComboBox10.AddItem "00057"
ComboBox10.AddItem "00058"
ComboBox10.AddItem "00059"
ComboBox10.AddItem "00060"
ComboBox10.AddItem "00061"
ComboBox10.AddItem "00062"
ComboBox10.AddItem "00063"
ComboBox10.AddItem "00064"
ComboBox10.AddItem "00065"
ComboBox10.AddItem "00066"
ComboBox10.AddItem "00067"
ComboBox10.AddItem "00068"
ComboBox10.AddItem "00069"
ComboBox10.AddItem "00070"
ComboBox10.AddItem "00071"
ComboBox10.AddItem "00072"
ComboBox10.AddItem "00073"
ComboBox10.AddItem "00074"
ComboBox10.AddItem "00075"
ComboBox10.AddItem "00076"
ComboBox10.AddItem "00077"
ComboBox10.AddItem "00078"
ComboBox10.AddItem "00079"
ComboBox10.AddItem "00080"
ComboBox10.AddItem "00081"
ComboBox10.AddItem "00082"
ComboBox10.AddItem "00083"
ComboBox10.AddItem "00084"
ComboBox10.AddItem "00085"
ComboBox10.AddItem "00086"
ComboBox10.AddItem "00087"
ComboBox10.AddItem "00088"
ComboBox10.AddItem "00089"
ComboBox10.AddItem "00090"
ComboBox10.AddItem "00091"
ComboBox10.AddItem "00092"
ComboBox10.AddItem "00093"
ComboBox10.AddItem "00094"
ComboBox10.AddItem "00095"
ComboBox10.AddItem "00096"
ComboBox10.AddItem "00097"
ComboBox10.AddItem "00098"
ComboBox10.AddItem "00099"
ComboBox10.AddItem "00100"
ComboBox10.Style = fmStyleDropDownList  'Dropdown-Liste verwenden
ComboBox10.BoundColumn = 0            'Werte im Kombinationsfeld entsprechen den Werten für ListIndex
ComboBox10.ListIndex = 0
'ComboBox11
ComboBox11.AddItem "0"        'ListIndex = 0
ComboBox11.AddItem "1"        'ListIndex = 1
ComboBox11.AddItem "2"     'ListIndex = 2
ComboBox11.AddItem "3"     'ListIndex = 3
ComboBox11.AddItem "4"       'ListIndex = 4
ComboBox11.AddItem "5"    'ListIndex = 5
ComboBox11.AddItem "6"    'ListIndex = 6
ComboBox11.AddItem "7"      'ListIndex = 7
ComboBox11.AddItem "8"    'ListIndex = 8
ComboBox11.AddItem "9"    'ListIndex = 9
ComboBox11.Style = fmStyleDropDownList  'Dropdown-Liste verwenden
ComboBox11.BoundColumn = 0            'Werte im Kombinationsfeld entsprechen den Werten für ListIndex
ComboBox11.ListIndex = 0              'Kombinationsfeld auf ersten Eintrag festlegen
'ComboBox12
ComboBox12.AddItem "0"        'ListIndex = 0
ComboBox12.AddItem "1"        'ListIndex = 1
ComboBox12.AddItem "2"     'ListIndex = 2
ComboBox12.AddItem "3"     'ListIndex = 3
ComboBox12.AddItem "4"       'ListIndex = 4
ComboBox12.AddItem "5"    'ListIndex = 5
ComboBox12.AddItem "6"    'ListIndex = 6
ComboBox12.AddItem "7"      'ListIndex = 7
ComboBox12.AddItem "8"    'ListIndex = 8
ComboBox12.Style = fmStyleDropDownList  'Dropdown-Liste verwenden
ComboBox12.BoundColumn = 0            'Werte im Kombinationsfeld entsprechen den Werten für ListIndex
ComboBox12.ListIndex = 0              'Kombinationsfeld auf ersten Eintrag festlegen
'ComboBox14
ComboBox14.AddItem "0"    'ListIndex = 0
ComboBox14.AddItem "1"        'ListIndex = 1
ComboBox14.AddItem "2"     'ListIndex = 2
ComboBox14.AddItem "3"     'ListIndex = 3
ComboBox14.AddItem "4"       'ListIndex = 4
ComboBox14.AddItem "5"    'ListIndex = 5
ComboBox14.Style = fmStyleDropDownList  'Dropdown-Liste verwenden
ComboBox14.BoundColumn = 0            'Werte im Kombinationsfeld entsprechen den Werten für ListIndex
ComboBox14.ListIndex = 0              'Kombinationsfeld auf ersten Eintrag festlegen
'ComboBox15
ComboBox15.AddItem "ES30   "    'ListIndex = 0
ComboBox15.AddItem "ES50   "        'ListIndex = 1
ComboBox15.Style = fmStyleDropDownList  'Dropdown-Liste verwenden
ComboBox15.BoundColumn = 0            'Werte im Kombinationsfeld entsprechen den Werten für ListIndex
ComboBox15.ListIndex = 0              'Kombinationsfeld auf ersten Eintrag festlegen
'ComboBox26
ComboBox26.AddItem "0"        'ListIndex = 0
ComboBox26.AddItem "1"        'ListIndex = 1
ComboBox26.AddItem "2"        'ListIndex = 2
ComboBox26.Style = fmStyleDropDownList  'Dropdown-Liste verwenden
ComboBox26.BoundColumn = 0            'Werte im Kombinationsfeld entsprechen den Werten für ListIndex
ComboBox26.ListIndex = 0              'Kombinationsfeld auf ersten Eintrag festlegen
'ComboBox27
ComboBox27.AddItem "1"        'ListIndex = 0
ComboBox27.AddItem "2"     'ListIndex = 1
ComboBox27.AddItem "3"     'ListIndex = 2
ComboBox27.AddItem "4"       'ListIndex = 3
ComboBox27.AddItem "5"    'ListIndex = 4
ComboBox27.AddItem "6"    'ListIndex = 5
ComboBox27.AddItem "7"      'ListIndex = 6
ComboBox27.AddItem "8"    'ListIndex = 7
ComboBox27.AddItem "9"    'ListIndex = 8
ComboBox27.AddItem "0"    'ListIndex = 9
ComboBox27.Style = fmStyleDropDownList  'Dropdown-Liste verwenden
ComboBox27.BoundColumn = 0            'Werte im Kombinationsfeld entsprechen den Werten für ListIndex
ComboBox27.ListIndex = 0              'Kombinationsfeld auf ersten Eintrag festlegen
'ComboBox28
ComboBox28.AddItem "ES30   "    'ListIndex = 0
ComboBox28.AddItem "ES50   "        'ListIndex = 1
ComboBox28.Style = fmStyleDropDownList  'Dropdown-Liste verwenden
ComboBox28.BoundColumn = 0            'Werte im Kombinationsfeld entsprechen den Werten für ListIndex
ComboBox28.ListIndex = 0              'Kombinationsfeld auf ersten Eintrag festlegen
'ComboBox29
ComboBox29.AddItem "ES30   "    'ListIndex = 0
ComboBox29.AddItem "ES50   "        'ListIndex = 1
ComboBox29.Style = fmStyleDropDownList  'Dropdown-Liste verwenden
ComboBox29.BoundColumn = 0            'Werte im Kombinationsfeld entsprechen den Werten für ListIndex
ComboBox29.ListIndex = 0              'Kombinationsfeld auf ersten Eintrag festlegen
'ComboBox30
ComboBox30.AddItem "ES30   "    'ListIndex = 0
ComboBox30.AddItem "ES50   "        'ListIndex = 1
ComboBox30.Style = fmStyleDropDownList  'Dropdown-Liste verwenden
ComboBox30.BoundColumn = 0            'Werte im Kombinationsfeld entsprechen den Werten für ListIndex
ComboBox30.ListIndex = 0              'Kombinationsfeld auf ersten Eintrag festlegen
'ComboBox31
ComboBox31.AddItem "ES30   "    'ListIndex = 0
ComboBox31.AddItem "ES50   "        'ListIndex = 1
ComboBox31.Style = fmStyleDropDownList  'Dropdown-Liste verwenden
ComboBox31.BoundColumn = 0            'Werte im Kombinationsfeld entsprechen den Werten für ListIndex
ComboBox31.ListIndex = 0              'Kombinationsfeld auf ersten Eintrag festlegen
End If
'***********************************ComboBox Codes*************************************
'ComboBox1
ComboBox1.AddItem "40"        'ListIndex = 0
ComboBox1.AddItem "41"     'ListIndex = 1
ComboBox1.AddItem "42"     'ListIndex = 2
ComboBox1.AddItem "43"       'ListIndex = 3
ComboBox1.AddItem "44"    'ListIndex = 4
ComboBox1.AddItem "45"    'ListIndex = 5
ComboBox1.AddItem "46"      'ListIndex = 6
ComboBox1.AddItem "47"    'ListIndex = 7
ComboBox1.AddItem "48"    'ListIndex = 8
ComboBox1.AddItem "49"      'ListIndex = 9
ComboBox1.Style = fmStyleDropDownList  'Dropdown-Liste verwenden
ComboBox1.BoundColumn = 0            'Werte im Kombinationsfeld entsprechen den Werten für ListIndex
ComboBox1.ListIndex = 0              'Kombinationsfeld auf ersten Eintrag festlegen
'ComboBox2
ComboBox2.AddItem "1"        'ListIndex = 0
ComboBox2.AddItem "2"     'ListIndex = 1
ComboBox2.AddItem "3"     'ListIndex = 2
ComboBox2.AddItem "4"       'ListIndex = 3
ComboBox2.AddItem "5"    'ListIndex = 4
ComboBox2.AddItem "6"    'ListIndex = 5
ComboBox2.AddItem "7"      'ListIndex = 6
ComboBox2.AddItem "8"    'ListIndex = 7
ComboBox2.AddItem "9"    'ListIndex = 8
ComboBox2.Style = fmStyleDropDownList  'Dropdown-Liste verwenden
ComboBox2.BoundColumn = 0            'Werte im Kombinationsfeld entsprechen den Werten für ListIndex
ComboBox2.ListIndex = 0              'Kombinationsfeld auf ersten Eintrag festlegen
'ComboBox3
ComboBox3.AddItem "04"        'ListIndex = 0
ComboBox3.AddItem "05"        'ListIndex = 1
ComboBox3.AddItem "06"     'ListIndex = 2
ComboBox3.AddItem "07"     'ListIndex = 3
ComboBox3.AddItem "08"       'ListIndex = 4
ComboBox3.AddItem "09"    'ListIndex = 5
ComboBox3.AddItem "10"    'ListIndex = 6
ComboBox3.AddItem "11"      'ListIndex = 7
ComboBox3.AddItem "12"    'ListIndex = 8
ComboBox3.AddItem "13"    'ListIndex = 9
ComboBox3.AddItem "14"        'ListIndex = 10
ComboBox3.AddItem "15"     'ListIndex = 11
ComboBox3.AddItem "16"     'ListIndex = 12
ComboBox3.AddItem "17"       'ListIndex = 13
ComboBox3.AddItem "18"    'ListIndex = 14
ComboBox3.AddItem "19"    'ListIndex = 15
ComboBox3.AddItem "20"      'ListIndex = 16
ComboBox3.AddItem "21"    'ListIndex = 17
ComboBox3.AddItem "22"    'ListIndex = 18
ComboBox3.Style = fmStyleDropDownList  'Dropdown-Liste verwenden
ComboBox3.BoundColumn = 0            'Werte im Kombinationsfeld entsprechen den Werten für ListIndex
ComboBox3.ListIndex = 1              'Kombinationsfeld auf ersten Eintrag festlegen
'ComboBox4
ComboBox4.AddItem "01"        'ListIndex = 0
ComboBox4.AddItem "02"     'ListIndex = 1
ComboBox4.AddItem "03"     'ListIndex = 2
ComboBox4.AddItem "04"       'ListIndex = 3
ComboBox4.AddItem "05"    'ListIndex = 4
ComboBox4.AddItem "06"    'ListIndex = 5
ComboBox4.AddItem "07"      'ListIndex = 6
ComboBox4.AddItem "08"    'ListIndex = 7
ComboBox4.AddItem "09"    'ListIndex = 8
ComboBox4.AddItem "10"        'ListIndex = 9
ComboBox4.AddItem "11"     'ListIndex = 10
ComboBox4.AddItem "12"     'ListIndex = 11
ComboBox4.AddItem "21"       'ListIndex = 12
ComboBox4.AddItem "22"    'ListIndex = 13
ComboBox4.AddItem "23"    'ListIndex = 14
ComboBox4.AddItem "24"      'ListIndex = 15
ComboBox4.AddItem "25"    'ListIndex = 16
ComboBox4.AddItem "26"    'ListIndex = 17
ComboBox4.AddItem "91"    'ListIndex = 18
ComboBox4.AddItem "92"    'ListIndex = 19
ComboBox4.AddItem "93"    'ListIndex = 20
ComboBox4.AddItem "94"    'ListIndex = 21
ComboBox4.Style = fmStyleDropDownList  'Dropdown-Liste verwenden
ComboBox4.BoundColumn = 0            'Werte im Kombinationsfeld entsprechen den Werten für ListIndex
ComboBox4.ListIndex = 0              'Kombinationsfeld auf ersten Eintrag festlegen
'ComboBox5
ComboBox5.AddItem "00000" 'ListIndex = 0
ComboBox5.AddItem "00001"
ComboBox5.AddItem "00002"
ComboBox5.AddItem "00003"
ComboBox5.AddItem "00004"
ComboBox5.AddItem "00005"
ComboBox5.AddItem "00006"
ComboBox5.AddItem "00007"
ComboBox5.AddItem "00008"
ComboBox5.AddItem "00009"
ComboBox5.AddItem "00010"
ComboBox5.AddItem "00011"
ComboBox5.AddItem "00012"
ComboBox5.AddItem "00013"
ComboBox5.AddItem "00014"
ComboBox5.AddItem "00015"
ComboBox5.AddItem "00016"
ComboBox5.AddItem "00017"
ComboBox5.AddItem "00018"
ComboBox5.AddItem "00019"
ComboBox5.AddItem "00020"
ComboBox5.AddItem "00021"
ComboBox5.AddItem "00022"
ComboBox5.AddItem "00023"
ComboBox5.AddItem "00024"
ComboBox5.AddItem "00025"
ComboBox5.AddItem "00026"
ComboBox5.AddItem "00027"
ComboBox5.AddItem "00028"
ComboBox5.AddItem "00029"
ComboBox5.AddItem "00030"
ComboBox5.AddItem "00031"
ComboBox5.AddItem "00032"
ComboBox5.AddItem "00033"
ComboBox5.AddItem "00034"
ComboBox5.AddItem "00035"
ComboBox5.AddItem "00036"
ComboBox5.AddItem "00037"
ComboBox5.AddItem "00038"
ComboBox5.AddItem "00039"
ComboBox5.AddItem "00040"
ComboBox5.AddItem "00041"
ComboBox5.AddItem "00042"
ComboBox5.AddItem "00043"
ComboBox5.AddItem "00044"
ComboBox5.AddItem "00045"
ComboBox5.AddItem "00046"
ComboBox5.AddItem "00047"
ComboBox5.AddItem "00048"
ComboBox5.AddItem "00049"
ComboBox5.AddItem "00050"
ComboBox5.AddItem "00051"
ComboBox5.AddItem "00052"
ComboBox5.AddItem "00053"
ComboBox5.AddItem "00054"
ComboBox5.AddItem "00055"
ComboBox5.AddItem "00056"
ComboBox5.AddItem "00057"
ComboBox5.AddItem "00058"
ComboBox5.AddItem "00059"
ComboBox5.AddItem "00060"
ComboBox5.AddItem "00061"
ComboBox5.AddItem "00062"
ComboBox5.AddItem "00063"
ComboBox5.AddItem "00064"
ComboBox5.AddItem "00065"
ComboBox5.AddItem "00066"
ComboBox5.AddItem "00067"
ComboBox5.AddItem "00068"
ComboBox5.AddItem "00069"
ComboBox5.AddItem "00070"
ComboBox5.AddItem "00071"
ComboBox5.AddItem "00072"
ComboBox5.AddItem "00073"
ComboBox5.AddItem "00074"
ComboBox5.AddItem "00075"
ComboBox5.AddItem "00076"
ComboBox5.AddItem "00077"
ComboBox5.AddItem "00078"
ComboBox5.AddItem "00079"
ComboBox5.AddItem "00080"
ComboBox5.AddItem "00081"
ComboBox5.AddItem "00082"
ComboBox5.AddItem "00083"
ComboBox5.AddItem "00084"
ComboBox5.AddItem "00085"
ComboBox5.AddItem "00086"
ComboBox5.AddItem "00087"
ComboBox5.AddItem "00088"
ComboBox5.AddItem "00089"
ComboBox5.AddItem "00090"
ComboBox5.AddItem "00091"
ComboBox5.AddItem "00092"
ComboBox5.AddItem "00093"
ComboBox5.AddItem "00094"
ComboBox5.AddItem "00095"
ComboBox5.AddItem "00096"
ComboBox5.AddItem "00097"
ComboBox5.AddItem "00098"
ComboBox5.AddItem "00099"
ComboBox5.AddItem "00100"
ComboBox5.Style = fmStyleDropDownList  'Dropdown-Liste verwenden
ComboBox5.BoundColumn = 0            'Werte im Kombinationsfeld entsprechen den Werten für ListIndex
ComboBox5.ListIndex = 0
End Sub

In welchem Bereich könnte bitte der Fehler liegen?
Danke

Josef
Bild

Betrifft: Ich nehme mal an, dies ist der Fehler...
von: Josef

Geschrieben am: 03.04.2005 21:29:45
Hallo!
Nach längerem Herumtesten fiel mir folgendes auf:
Die Userform ist in einer Datei mit Namen DVP.
Weiters ist eine zweite Arbeitsmappe geöffnet.
Wenn jetzt diese zweite Arbeitsmappe aktiviert ist und ich im VBA Bereich bin, die Userform öffne, ist alles in Ordnung. Wenn ich jedoch in VBA die Datei DVP speichere und danach die Userform öffnen will.so erscheint der Fehler 424.
Und anscheinend deswegen, da beim speichern in der blauen Titelleiste die Datei von DVP.xls in die andere Mappe wechselt. Wenn ich danach die Userform aufrufe, so erhalte ich diesen Fehler.
Gäbe es da vielleicht eine Möglichkeit, dies irgendwie zu umgehen, da ich aus der Datei mit der Userform gerne ein Addin machen möchte?

Danke

Josef
Bild

Betrifft: Optimierung
von: Ramses

Geschrieben am: 03.04.2005 21:45:21
Hallo
Oje,... also da kann man wirklich optimieren :-)
Diese Zeilen ersetzen deinen kompletten bisherigen Code
Private Sub UserForm_Initialize()
Dim i As Byte
If Frame1.Visible = True Then
With Me.Combobox7
For i = 1 To 21
.AddItem Format(i, "00000")
Next i
.Style = fmStyleDropDownList
.BoundColumn = 0
.ListIndex = 0
With Me.ComboBox9
.AddItem "0"
.AddItem "1"
.Style = fmStyleDropDownList
.BoundColumn = 0
.ListIndex = 0
End With
Me.TextBox129 = Format(Date, "ddmmyy")
End If
If Frame13.Visible = True Then
With Me.Combobox6
For i = 1 To 9
.AddItem Format(i, "00000")
Next i
.Style = fmStyleDropDownList
.BoundColumn = 0
.ListIndex = 0
End With
With Me.Combobox10
For i = 1 To 100
.AddItem i
Next i
.Style = fmStyleDropDownList
.BoundColumn = 0
.ListIndex = 0
End With
'ComboBox11
With Me.Combobox11
For i = 1 To 9
.AddItem i
Next i
.Style = fmStyleDropDownList
.BoundColumn = 0
.ListIndex = 0
End With
'ComboBox12
With Me.Combobox12
For i = 1 To 8
.AddItem i
Next i
.Style = fmStyleDropDownList
.BoundColumn = 0
.ListIndex = 0
End With
'ComboBox14
With Me.Combobox14
For i = 1 To 5
.AddItem i
Next i
.Style = fmStyleDropDownList
.BoundColumn = 0
.ListIndex = 0
End With
'ComboBox15
With Me.ComboBox15
.AddItem "ES30   "
.AddItem "ES50   "
.Style = fmStyleDropDownList
.BoundColumn = 0
.ListIndex = 1
End With
'ComboBox26
With Me.Combobox26
For i = 0 To 2
.AddItem i
Next i
.Style = fmStyleDropDownList
.BoundColumn = 0
.ListIndex = 0
End With
'ComboBox27
With Me.Combobox27
For i = 1 To 9
.AddItem i
Next i
.AddItem "0"
.Style = fmStyleDropDownList
.BoundColumn = 0
.ListIndex = 0
End With
'ComboBox28
For i = 28 To 31
With Me.Controls("ComboBox" & i)
.AddItem "ES30   "
.AddItem "ES50   "
.Style = fmStyleDropDownList
.BoundColumn = 0
.ListIndex = 1
End With
Next i
End If
'***********************************ComboBox Codes*************************************
'ComboBox1
With Me.Combobox1
For i = 40 To 49
.AddItem i
Next i
.Style = fmStyleDropDownList
.BoundColumn = 0
.ListIndex = 0
End With
'ComboBox2
With Me.Combobox2
For i = 1 To 9
.AddItem i
Next i
.Style = fmStyleDropDownList
.BoundColumn = 0
.ListIndex = 0
End With
'ComboBox3
With Me.Combobox3
For i = 4 To 22
.AddItem Format(i, "00")
Next i
.Style = fmStyleDropDownList
.BoundColumn = 0
.ListIndex = 1
End With
'ComboBox4
With Me.Combobox3
For i = 1 To 12
.AddItem Format(i, "00")
Next i
For i = 21 To 26
.AddItem Format(i, "00")
Next i
For i = 91 To 94
.AddItem Format(i, "00")
Next i
.Style = fmStyleDropDownList
.BoundColumn = 0
.ListIndex = 1
End With
'ComboBox5
With Me.Combobox5
For i = 1 To 100
.AddItem Format(i, "00000")
Next i
.Style = fmStyleDropDownList
.BoundColumn = 0
.ListIndex = 1
End With
End Sub

Das mit der nicht sichtbaren Combobox kann schon sein.
Fülle die Combobox doch erst, wenn du sie sichtbar machst.
Gruss Rainer
Bild

Betrifft: AW: Optimierung
von: Josef
Geschrieben am: 03.04.2005 21:52:17
Hallo Ramses!
Besten Dank für Deine Mühe.
Ich wollte es jetzt gleich ausprobieren, bekam jedoch gleich den Fehlerhinweis
End If ohne If-Block.
Josef
Bild

Betrifft: AW: Optimierung
von: Ramses

Geschrieben am: 03.04.2005 21:56:21
Hallo
ich habe das aus der Hand geschrieben, weil ich nicht das ganze UF nachbilden wollte.
Die Fehlermeldung ist übrigens falsch,... korrekt müsste es heissen "With-Block" ohne "End with" ;-)
If Frame1.Visible = True Then
With Me.Combobox7
For i = 1 To 21
.AddItem Format(i, "00000")
Next i
.Style = fmStyleDropDownList
.BoundColumn = 0
.ListIndex = 0
End With
With Me.ComboBox9
.AddItem "0"
.AddItem "1"
.Style = fmStyleDropDownList
.BoundColumn = 0
.ListIndex = 0
End With
Me.TextBox129 = Format(Date, "ddmmyy")
End If
Gruss Rainer
Bild

Betrifft: AW: Optimierung
von: Josef

Geschrieben am: 03.04.2005 22:04:02
Hallo Rainer!
Herzlichen Dank für Deine Mühe und Deine Hilfe. Funktioniert bereits.
Jedoch den 424 er Fehler erhalte ich immer noch.
mir fiel jedoch folgendes auf:
Die Userform ist in einer Datei mit Namen DVP.
Weiters ist eine zweite Arbeitsmappe geöffnet.
Wenn jetzt diese zweite Arbeitsmappe aktiviert ist und ich im VBA Bereich bin, die Userform öffne, ist alles in Ordnung. Wenn ich jedoch in VBA die Datei DVP speichere und danach die Userform öffnen will.so erscheint der Fehler 424.
Und anscheinend deswegen, da beim speichern in der blauen Titelleiste die Datei von DVP.xls in die andere Mappe wechselt. Wenn ich danach die Userform aufrufe, so erhalte ich diesen Fehler.

Josef
Bild

Betrifft: AW: Optimierung
von: Ramses

Geschrieben am: 03.04.2005 22:11:02
Hallo
du musst sicher stellen dass du das UF aus der richtigen Mappe aufrufst.
Nimm alternativ ein Hilfsmakro
Sub ShowMyUserform()
DeineUserform.Show
End Sub

von der anderen Mappe kannst du das dann aufrufen
Application.Run "DeinMappe.xls!ShowMyUserform"
Mehr kann ich von hier aus nicht beurteilen.
Höchstens noch dass du die Frames im Code anders ansprichst.
Anstelle von
If Frame1.Visible ...
If Me.Frame1.Visible...
Damit wird der Bezug richtig gesetzt
Gruss Rainer
Bild

Betrifft: AW: Optimierung
von: Josef
Geschrieben am: 03.04.2005 22:24:29
Hallo Rainer!
Danke.
eine Frage noch:
Trifft dies auch zu,wenn die Userform in einem Addin wäre oder müßte ich da noch anders vorgehen?
Josef
Bild

Betrifft: AW: Optimierung
von: Ramses
Geschrieben am: 03.04.2005 22:28:02
Hallo
auch in einem AddIn ist das so.
Gruss Rainer
Bild

Betrifft: DANKE
von: Josef

Geschrieben am: 03.04.2005 22:30:28
Hallo Rainer!
Danke nochmals für alles.
Ich wünsche Dir noch einen angenehmen Abend.
Josef
 Bild
Excel-Beispiele zum Thema "Laufzeitfehler 424"
Fortlaufende Suche unter Vermeidung eines Laufzeitfehlers