Anzeige
Archiv - Navigation
1196to1200
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
Inhaltsverzeichnis

Objekt erforderlich

Objekt erforderlich
Emanuel
Hallo da ich nun mit meinem bescheiden Latain am ende bin und auch im Forum nicht's finden konnte was mein problem löst hab ich mich dazu entschlossen mein Problem öffentlich zu mach.
Meine Excel-Tabelle macht alles so wie sie es soll alles stimmt, alle ActiveX-Steuerelemate tuen das was sie sollen.
Jedoch wenn ich Excel öffne (bzw. die Marcros aktiviere) oder schließe bekomme ich die Fehlermeldung "Laufzeitfehler 424 - Objekt erfoderlich" Beim Debuggen wird dann immer eines der ActiveX-Steuerelmete als fehler markiert. Je nach einstellung in der tabelle beim beenden/speicher/öffnen wird ein anderes element markiert. das geht soweit das bei bestimmten kombinationen beim öffenen keine Fehlermeldung erscheint sondern nur beim schließen.
Einige dieser Fehlermeldungen konnte ich bereits ausbesser da es sich dabei um logikfehler in den "If Then Else" Anweisungen gehandelt hatte.
Ich denke das es daran liegen könnte das ich einem Obejekt zB. Combox eine Eigenschaft gebe die sie bereits hat und deswegen ein fehler kommt
Also zB beim Beenden.
Private Sub ComboBox3_Change() ' Belastungsart
If Range("C17") = 69 Then
Range("C18") = 6
ComboBox6.Enabled = False
ComboBox7.Enabled = False
ComboBox8.Enabled = False
und dann wird beim starten wieder genau das gleich ausgeführt und ich erhalte meine Fehlermeldung kann das sein?
Kann mir da bitte jemand Helfen?
Hier die Daten https://www.herber.de/bbs/user/73213.xlsm
Mit freundlichen Grüßen Emanuel

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Objekt erforderlich
26.01.2011 11:16:22
Eugen
Hi Emanuel
der Fehler kommt, weil das angegebene Steuerelement zu diesem Zeitpunkt nicht existiert !!!
Aber mal was anderes, ich kann nicht genau erkennen, wie Du beim Öffnen der Arbeitsmappe in
die change eventrs der einzelnen Steuerelemente hineinspringst. Da ist kein Code im Open event der
Arbeitsmappe ?
Gruss
Eugen
AW: Objekt erforderlich
26.01.2011 12:19:01
Emanuel
Schonmal Danke Eugen
Also wenn ich mein Objekt die Eigenschaft
  • .Enabled = False
  • zuweise ist das als wär es nicht vorhanden!?
    Also Müsste ich wenn ich die Tabelle öffene bzw die Makros aktiviere erstmal alle auf Enabled = True setzen?
    Wobei das dann ja auch nicht funkitioniert da ich ja wärend der benutzung diese Eigenschaften ständig ändern will.
    Wie kann ich das Problem lösen?
    Könnte ich dem Objekt mit "Set" ein Variable zuweißen (also Set a = ComboBox1 usw) und dann das objekt über diese ansprechen auch wenn es grad Enabled = False ist?
    Zu deiner Frage die ich leider nicht ganz verstehen kann
    Ich habe diese Change-Events alle nacheinander im Quelltext für die Tabelle 1 angelegt (hab also keine Module für die einzelnen Makros) ist das ein problem?
    beste Grüße Emanuel
    Anzeige
    AW: Objekt erforderlich
    26.01.2011 13:00:42
    Eugen
    Hi Emanuel
    hat ein bisschen gedauert, bis ich geschnallt hab, was da eigentlich passiert.
    Also Du hast alle Deine Comboboxen mit der Listfill property gesetzt - offensichtlich
    versucht dann Excel diese Bereiche in die Combo zu laden und dabei passiert das
    change event der jeweiligen Combobox, in dem Du Code ausführst. Zu diesem Zeitpunkt scheint aber nicht
    sichergestellt, dass alle steeuerelemente bereits geladen sind. deshalb der Fehler Objekt erforderlich !!!
    Workaround : alle listfill Eigneschaften auf leer zurücksetzen
    im workbook.oen event die comboboxen manuell befüllen wie etwa so
    for i = 20 to 30
    Combobox1.additem(sheets(1).cells(i,20).Value
    next i
    füllt den Inhalt der Zellen(20,21,22....30) aus der spalte 20 des 1. Tabellenblattes in die Combo
    Gruss
    Eugen
    Anzeige
    AW: Objekt erforderlich
    26.01.2011 13:59:10
    Emanuel
    Hey danke nochmal.
    Hab jetzt mal eine Neue Mappe angelegt mit einer COmboBox1 und hab werte in Spalte A (und B) eingetragen je in die zeilen 1 bis 10
    dann hab ich denn Quelltext von dir angepasst und eingefügt. aber diesmal nmicht unter Tabelle1 sonder unter "diese Arbeitsmappe" da es ja in Tabelle1 kein Workbook_Open event gibt. oder?
    also sieht jetzt so aus:
    Private Sub Workbook_Open()
    For i = 1 To 10
    ComboBox1.AddItem(Sheets(1).Cells(i, 1)).Value
    Next i
    End Sub
    

    Und das befindet sich im Bereich "Diese Arbeitsmappe"
    aber leider läuft es immer noch nicht
    er gibt mir jetzt schon an dieser stelle die Fehlermeldung "Lauzeitfehler 424" für diese neue ComboBox1
    weiß nicht was ich tun soll!?
    Grüße Emanuel
    Anzeige
    AW: Objekt erforderlich
    26.01.2011 14:37:01
    Emanuel
    Hey hab grad mal was probiert.
    Ich hab eine Wartezeit von 10s in das Workbook_Open event gelegt (2s reichen auch ;) und schon is die Fehlermeldung beim starten weg. jedenfalls bei jedem zweiten. warum nur bei jedem zweiten start und wie könnt ich das auf diese weiße beim beenden lösen?
    sieht jetzt so aus
    
    Private Sub Workbook_Open()
    newHour = Hour(Now())
    newMinute = Minute(Now())
    newSecond = Second(Now()) + 10
    waitTime = TimeSerial(newHour, newMinute, newSecond)
    Application.Wait waitTime
    End Sub
    

    Wobei mir der andere Lösungsansatz schon besser gefällt :( auch wenn ich dann 2spalten in die listbox einleden muss und noch nicht weiß wie das dann läuft!?
    beste grüße
    Anzeige
    AW: Objekt erforderlich
    26.01.2011 14:02:27
    Emanuel
    Also hier die neue Tabelle is ja jetzt so übersichtlich ...weiß aber trotzdem nicht wo der fehler liegt
    https://www.herber.de/bbs/user/73251.xlsm
    Danke schonmal :)
    AW: Objekt erforderlich
    26.01.2011 14:50:19
    Eugen
    Hallo Emanuell
    muss so heissen :
    Private Sub Workbook_Open()
    Sheets(1).ComboBox1.Clear
    For i = 1 To 10
    Sheets(1).ComboBox1.AddItem (Sheets(1).Cells(i, 1).Value)
    Next i
    End Sub
    

    AW: Objekt erforderlich
    26.01.2011 15:30:01
    Emanuel
    okay super das läuft
    und wie bekomm ich da jetzt den Index bzw ne 2. spalte raus?
    Ich will wenn ich den erstwert habe in eine zelle den Index dieses wertes haben.... also wenn ich Var1 wähle eine 1 und Var 2 eine 2 usw. bzw einen zweiten wert der in einer anderen spalte steht und der Zeilzugeornet ist. also eine listebox mit 2 spalten. wie kann ich das machen ?
    grüße emanuel
    Anzeige
    AW: Objekt erforderlich
    26.01.2011 15:46:09
    Eugen
    Hallo Emanuel
    im change event der combobox oder im OK Click Event
    Sheets(1).cells(x,y).Value = Combobox1.Listindex + 1 ' Vorsicht erstes Element ist 0
    Gruss
    Eugen
    AW: Objekt erforderlich
    26.01.2011 17:56:03
    Emanuel
    Danke Eugen
    Das läuft erstmal. jetzt hoff ich mal das die Fehlermeldung nichtmehr kommt nachdem ich das eingebaut habe.
    Wobei der Fehler auch bei Image(Objekten) kommt
    wie kann ich das da lösen?
    AW: Objekt erforderlich
    26.01.2011 23:09:54
    Emanuel
    Hallo
    Also hab das jetzt alles so eingebaut.
    Beim Starten kommt jetzt auch keine Fehlermeldung mehr :) beim beenden kam immer Laufzeitfehler 1004 "Die Methode 'sheets' für das Objekt '_Global' ist fehlgeschlagen
    Hab mir dann überlegt das ich das ja eh in "Quelltext" der Tabelle schreibe und ich mir das sheet auch sparen kann da ich ja schon in sheet 1 arbeite und hab das in
    Range("A1") = ComboBox.ListIndex + 1 geändert jetzt ist auch diesel fehlermeldung weg :)
    Allerdings erhalte ich nun wieder Laufzeitfehler 424 Objekt erforderlich diesemla spring der debugger auf eines der Image elemente bzw auf das TextBox element.
    woran kann das jetzt wieder liegen?
    und wie kann ich jetzt einer ComboBox einen Wert zuweißen den diese zB beim Programmstart erhält? Ich möchte nicht das die Combobox "leer" sind wenn ich start.
    beste grüße Emanuel
    Anzeige
    AW: Objekt erforderlich
    27.01.2011 01:31:58
    Emanuel
    Okay alle Fehlermeldungen sind weg herzlichen dank dafür :)
    Jetzt bleibt nur noch die frage wie ich jetzt einer ComboBox einen Wert zuweißen kann den diese zB beim Programmstart erhält? da Ich möchte nicht das die Combobox "leer" sind wenn ich start. bzw unter bestimmten umständen nur einen bestimmten wert beinhalten dürfen.
    WIe kann man das machen?
    Gute nach Emanuel

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige