Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CheckBox
BildScreenshot zu CheckBox CheckBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Checkbox (Objekt erforderlich - 424) | Herbers Excel-Forum


Betrifft: Checkbox (Objekt erforderlich - 424) von: dani
Geschrieben am: 13.02.2012 14:17:18

hallo, was mach ich hier falsch??

Code für Checkbox Klickereignis:
**************************

Private Sub A1_chkbox_Click()

chko = A1_chkbox.Object
chkn = A1_chkbox.Name

Call chkbox(chko, chkn)   'Modul-Aufruf chkbox

End Sub

chkbox-Modul, das Aufgerufen wird:
****************************
Public Function chkbox(chko, chkn)

MsgBox "chkn = " & chkn  'wird korrekt angezeigt
MsgBox "chko = " & chko  'wird korrekt angezeigt

If chko = True Then

    chkn.Caption = Date & " " & Time  
' ==> bei chkn.Caption kommt die Fehlermeldung
' ==> Laufzeitfehler 424
' ==> Objekt erforderlich
    
    Range(chkn.LinkedCell).Select
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorDark1
        .TintAndShade = -0.149998474074526
        .PatternTintAndShade = 0
    End With

Else

    chkn.Caption = "Offen"

    Range(chkn.LinkedCell).Select
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 13434828
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
End If

End Function

Wie muss ich diese Variabeln definieren/deklarieren etc....??
Danke für euer Hilfe!

  

Betrifft: AW: Checkbox (Objekt erforderlich - 424) von: Rudi Maintaire
Geschrieben am: 13.02.2012 14:43:46

Hallo,
1. solltest du eine Sub anstatt eine Function nehmen. Funktionen geben Werte zurück.
2. muss es chko.Caption, chko.Name, chko.LinkedCell etc. heißen.

Private Sub A1_chkbox_Click()

Call chkbox(A1_chkBox)   'Modul-Aufruf chkbox

End Sub

Public Sub chkbox(chko As Object)

  MsgBox "chkn = " & chko.Name  'wird korrekt angezeigt
  MsgBox "chko = " & chko  'wird korrekt angezeigt

  If chko = True Then
      chko.Caption = Date & " " & Time
      With Range(chko.LinkedCell).Interior
          .Pattern = xlSolid
          .PatternColorIndex = xlAutomatic
          .ThemeColor = xlThemeColorDark1
          .TintAndShade = -0.149998474074526
          .PatternTintAndShade = 0
      End With
  Else
      chko.Caption = "Offen"
      With Range(chko.LinkedCell).Interior
          .Pattern = xlSolid
          .PatternColorIndex = xlAutomatic
          .Color = 13434828
          .TintAndShade = 0
          .PatternTintAndShade = 0
      End With
  End If
End Sub

Gruß
Rudi


  

Betrifft: AW: Besten Dank! von: dani
Geschrieben am: 13.02.2012 14:52:51

Hallo Rudi

Besten Dank! Funzt einwandfrei....

Gruss
Dani


  

Betrifft: AW: Checkbox (Objekt erforderlich - 424) von: Reinhard
Geschrieben am: 13.02.2012 14:49:32

Hallo Dani,

ungetestet:

Option Explicit

Private Sub A1_chkbox_Click()
Set chko = A1_chkbox.Object
Call chkbox(chko, chkn)   'Modul-Aufruf chkbox
End Sub


' In ein Standardmodul:
Public Sub chkbox(chko)
MsgBox "chko = " & chko.Name  'wird korrekt angezeigt
chko.Caption = IIf(chko, Date & " " & Time, "Offen")
With Range(chko.LinkedCell).Interior
  .Pattern = xlSolid
  .PatternColorIndex = xlAutomatic
  .PatternTintAndShade = 0
  .TintAndShade = IIf(chko, -0.149998474074526, 0)
  If chko Then
    .ThemeColor = xlThemeColorDark1
  Else
    .Color = 13434828
  End If
End With
End Sub

Gruß
Reinhard


  

Betrifft: AW: Checkbox (Objekt erforderlich - 424) von: dani
Geschrieben am: 13.02.2012 14:54:08

Hallo Reihnard

Auch dir Danke. Hab gleich den Code von Rudi verwendet....

Gruss
Dani


Beiträge aus den Excel-Beispielen zum Thema "Checkbox (Objekt erforderlich - 424)"