Formularsteuerelement - Fehler

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

Betrifft: Formularsteuerelement - Fehler
von: Dennis
Geschrieben am: 10.08.2015 11:31:36

Hallo liebes Forum,
ich habe folgendes Problem:
ich habe eine Textbox und nebenan ein Kontrollkästchen (Formularsteuerelement).
Darunter ein "Ok" Button. Wird dieser gedrückt, soll er den Wert der Textbox auslesen und prüfen, ob der Haken in dem Kontrollkästchen gesetzt ist.
Eingetragen wird in die Textbox eine Zelle (also z.B. "A1"). Dieser Wert wird dann in einem anderen Tabellenblatt eingefügt und in die Zelle rechts davon soll ein "X" eingetragen werden, falls das Kontrollkästchen aktiviert war.
Hier mein Code:

Sub Schaltfläche9_Klicken()
    Dim a As String
    Dim b As Integer
    
    If TextBox2.Value <> "" Then
    
        Worksheets("Züge").Cells(1, 1).End(xlDown).Offset(1, 0).Value = _
        Worksheets("Spielfeld").TextBox2.Value
        TextBox2.Value = ""
    Else
    End If
    
    If Worksheets("Spielfeld").Shapes("Kontrollkästchen 13").Value = True Then
        Worksheets("Züge").Cells(1, 2).End(xlDown).Offset(1, 0).Value = "X"
        Worksheets("Spielfeld").Shapes("Kontrollkästchen 13").Value = False
        Else
        Worksheets("Züge").Cells(1, 2).End(xlDown).Offset(1, 0).Value = "-"
        Worksheets("Spielfeld").Shapes("Kontrollkästchen 13").Value = False
        
    End If
    
    
End Sub

Das Problem das auftaucht:
"Laufzeitfehler 438: Dieses Objekt unterstützt diese Eigenschaft oder Methode nicht"
Ich hoffe, ihr versteht mein Anliegen :)
Gruß, Dennis

Bild

Betrifft: AW: Formularsteuerelement - Fehler
von: Rudi Maintaire
Geschrieben am: 10.08.2015 11:48:39
Hallo,
Worksheets("Spielfeld").Shapes("Kontrollkästchen 13").Drawingobject.Value = False
Gruß
Rudi

Bild

Betrifft: Fehler gelöst, neuer da
von: Dennis
Geschrieben am: 10.08.2015 11:59:39
Hallo Rudi
und mal wieder ein herzliches Dankeschön für deine Hilfe! :)
Mit F8 komm ich nun über die Kontrollkästchen weg, allerdings gibt er in der fett markierten Code Zeile folgenden Fehler aus:

Sub Schaltfläche9_Klicken()
    Dim a As String
    Dim b As Integer
    
    If TextBox2.Value <> "" Then
    
        Worksheets("Züge").Cells(1, 1).End(xlDown).Offset(1, 0).Value = _
        Worksheets("Spielfeld").TextBox2.Value
        TextBox2.Value = ""
    Else
    End If
    
    If Worksheets("Spielfeld").Shapes("Kontrollkästchen 13").DrawingObject.Value = True Then
        Worksheets("Züge").Cells(1, 2).End(xlDown).Offset(1, 0).Value = "X"
        Worksheets("Spielfeld").Shapes("Kontrollkästchen 13").DrawingObject.Value = False
        Else
        Worksheets("Züge").Cells(1, 2).End(xlDown).Offset(1, 0).Value = "-"
        Worksheets("Spielfeld").Shapes("Kontrollkästchen 13").DrawingObject.Value = False
        
    End If
    
    
End Sub
Fehler:
"Laufzeitfehler 1004
Anwendungs- oder objektdefinierter Fehler"
Außerdem komme ich mit F8 auch zur Else-Anweisung, obwohl ich zum testen das Kontrollkästchen aktiviert habe. :/
Danke und Gruß,
Dennis

Bild

Betrifft: AW: Fehler gelöst, neuer da
von: Rudi Maintaire
Geschrieben am: 10.08.2015 12:08:50
Hallo,
steht nur in B1 was oder nirgends.
Worksheets("Züge").Cells(1, 2).End(xlDown) = B1048576; .OffSet(1,0)= B1048577, das es nicht gibt.
Besser:
Worksheets("Züge").Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).Value = "-"
Gruß
Rudi

Bild

Betrifft: AW: Fehler gelöst, neuer da
von: Dennis
Geschrieben am: 10.08.2015 12:30:05
Super, danke dir!
Ich habe den Code abgeändert und nun funktionert er.
Kannst du mir noch erklären, was genau deine Veränderung bewirkt und wie du auf die Werte B1048576 und B1048577 kommst?
In der Tabelle steht in B1 & B2 ein fester Wert. Die aus der Textbox ausgelesenen Werte werden dann ab Zeile 3 eingetragen :)
Noch besteht aber ein komisches Problem:
Der Code läuft, jedoch übersieht er den Value = True Wert des Kontrollkästchens und geht immer zur Else Anweisung, wo er den Wert dann auch richtigerweise auf False setzt.
Gruß,
Dennis

Bild

Betrifft: AW: Fehler gelöst, neuer da
von: Rudi Maintaire
Geschrieben am: 10.08.2015 13:02:31
Hallo,
In der Tabelle steht in B1 & B2 ein fester Wert.
Dann dürfte der Fehler nicht auftreten.
wie du auf die Werte B1048576 und B1048577 kommst
.end(xldown) = strg + down
jedoch übersieht er den Value = True
versuche .Value = 1
Warum benutzt du unterschiedliche Steuerelement-Typen? Ich würde nur ActiveX nehmen.
Gruß
Rudi

Bild

Betrifft: AW: Fehler gelöst, neuer da
von: Dennis
Geschrieben am: 10.08.2015 13:21:04
Hallo Rudi,
habe nun alles zum Laufen gebracht, danke! :)
Ich finde die Steuerelement Kontrollkästchen schöner als die ActiveX Checkboxen..:)
Gruß,
Dennis

Bild

Betrifft: In Schönheit muss die Welt zugrunde gehn! (owT)
von: EtoPHG
Geschrieben am: 10.08.2015 14:01:13


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Formularsteuerelement - Fehler"