Microsoft Excel

Herbers Excel/VBA-Archiv

ByRef unverträglich | Herbers Excel-Forum


Betrifft: ByRef unverträglich von: dani
Geschrieben am: 15.02.2012 16:28:30

hallo

Hab ein Excelsheet mit 2 Registern (das Erste nur mit Buttons und das Zweite mit Daten).
Mit Klick auf den Button im ersten Register sollen dann im zweitem Register gewisse Checkboxen auf ".visible = False" gesetzt werden.

Klickereignis:

Private Sub cmd_Filter_Click()

 Call chkboxhidd(Box_1, Box_2)

End Sub

Modul:
Public Sub chkboxhidd(chkhidd As Object)

  chkhidd.Visible = False
  
End Sub

Fehlermeldung:
...ByRef unverträglich...

Was mache ich falsch???

  

Betrifft: AW: ByRef unverträglich von: Hajo_Zi
Geschrieben am: 15.02.2012 17:45:57

Hallo dani,

ich würde vermuten Dui mußt auch angeben wo das Steuerelement ist.

GrußformelHomepage


  

Betrifft: AW: ByRef unverträglich von: Tino
Geschrieben am: 15.02.2012 20:17:25

Hallo,
Du übergibst 2 Parameter an eine Sub die nur einen erwartet,
ich hätte mit einem anderen Fehler gerechnet, Falsche Anzahl an Argumenten ….

Hier mal zwei Varianten wie es gehen sollte.

Public Sub chkboxhidd_V1(Box1 As Object, Box2 As Object)
   Box1.Visible = False
   Box2.Visible = False
End Sub

Sub chkboxhidd_V2(ParamArray AlleBoxen() As Variant)
Dim varBox
For Each varBox In AlleBoxen
   varBox.Visible = False
Next varBox
End Sub
Gruß Tino


  

Betrifft: Geht leider nicht von: dani
Geschrieben am: 16.02.2012 11:15:49

Hallo und Danke für die Antworten....

Leider kommt in Variante 1 dieselbe Fehlermeldung (ByRef .....)
Bei Variante 2 kommt die Fehlermeldung (Laufzeitfehler 424 / Objekt erforderlich)

Aufruf (gebe nur 1 Parameter mit):

Private Sub cmd_Filter_Click()

Call chkboxhidd(Box_1)

End Sub
Modul:
Public Sub chkboxhidd(chkhidd As Object)

chkhidd.Visible = False
  
End Sub



  

Betrifft: Tabelle auch angeben! von: Rudi Maintaire
Geschrieben am: 16.02.2012 11:45:58

Hallo,

Private Sub cmd_Filter_Click()
  chkboxhidd Sheets("Tabelle2").Box_1
End Sub

Gruß
Rudi


  

Betrifft: DANKE! von: dani
Geschrieben am: 16.02.2012 12:22:54

Oh Gott, machmal ist die Lösung so nah.... :)