Mehrere Checkboxen per Vba in einer Tabelle
#11
Hätte aber doch noch eine Frage, ich hab versucht in diesem Fall mehrere Rows an eine Checkbox zu verknüpfen.

Rows("4:20").Select
Rows("59:79").Select
Selection.EntireRow.Hidden = False

Funktioniert aber nicht, hab schon andere Methoden versucht, hat aber nicht geklappt. :)

Würde mich um eine Antwort sehr freuen. (Hab mir jetzt auch ein bisschen wissen angeeignet)
Top
#12
Zitat: Hallo,
Private Sub CheckBox1_Click()
 Rows("21:79").Hidden = CheckBox1
 Rows("5:20").Hidden = CheckBox19
 Rows("88:100").Hidden = Not CheckBox19
End Sub

Gruß Uwe


Hab ich schon anders erledigt. :)
Top
#13
Hallo,

(17.11.2016, 09:15)J21 schrieb: Hätte aber doch noch eine Frage, ich hab versucht in diesem Fall mehrere Rows an eine Checkbox zu verknüpfen.

Rows("4:20").Select
Rows("59:79").Select
Selection.EntireRow.Hidden = False

Funktioniert aber nicht, hab schon andere Methoden versucht, hat aber nicht geklappt. :)

versuche es mal mit

Code:
Sub rngAusblenden()


   Dim rngBereich As Range
  
   Set rngBereich = Range("4:20,59:79")
  
   rngBereich.EntireRow.Hidden = False
    
End Sub
Gruß Stefan
Win 10 / Office 2016
Top
#14
(17.11.2016, 10:49)Steffl schrieb: Hallo,


versuche es mal mit

Code:
Sub rngAusblenden()


  Dim rngBereich As Range
 
  Set rngBereich = Range("4:20,59:79")
 
  rngBereich.EntireRow.Hidden = False
   
End Sub

Wird aber nicht funktionieren, da:

Private Sub CheckBox19_Click()
If CheckBox1 = True Then

Dim rngBereich As Range
   
   Set rngBereich = Range("4:20,59:79")
rngBereich.EntireRow.Hidden = True

Else
Dim rngBereich As Range
   
   Set rngBereich = Range("4:20,59:79")
rngBereich.EntireRow.Hidden = False


End If
End Sub

ich benutzt schon ein private sub um die checkbox verknüpfen ein weiteren sub kann ich ja nicht machen
Top
#15
Hallo,

so wie Du es gepostest hast, geht es auch nicht. Mache es so

Code:
Private Sub CheckBox19_Click()

  Dim rngBereich As Range
  Set rngBereich = Range("4:20,59:79")
 
  If CheckBox1 = True Then
     rngBereich.EntireRow.Hidden = True
  Else
     rngBereich.EntireRow.Hidden = False
  End If
End Sub

oder so

Code:
Private Sub CheckBox19_Click()

  Dim rngBereich As Range
  Set rngBereich = Range("4:20,59:79")
 
  rngBereich.EntireRow.Hidden = CheckBox1
End Sub


Zitat:ich benutzt schon ein private sub um die checkbox verknüpfen ein weiteren sub kann ich ja nicht machen

???? So ist es halt, wenn man nur Codefragmente postet, die Helfer wissen nicht, was es sonst noch an Code vorhanden ist. Könntest Du die Datei hochladen?
Gruß Stefan
Win 10 / Office 2016
Top
#16
Private Sub CheckBox1_Click()
If CheckBox1 = True Then
    Rows("20:79").Select
    Selection.EntireRow.Hidden = True
    Range("B5").Select
    Else
    Rows("20:79").Select
    Selection.EntireRow.Hidden = False
    Range("B5").Select
    
    End If
End Sub

Private Sub CheckBox19_Click()

Dim rngBereich As Range
  Set rngBereich = Range("4:20,59:79")
  
  If CheckBox1 = True Then
     rngBereich.EntireRow.Hidden = True
  Else
     rngBereich.EntireRow.Hidden = False
  End If
End Sub

wird ja auch nicht wieder funktionieren, ich muss ja ne "range" angeben.

Der erste Code oben funktioniert einwandfrei. (liegt aber auch daran das ich da nicht 2 verschiedene "rows" brauche. .)

Danke für deine Bemühungen :)

Mit freundlichen Grüßen

Jan/J21
Top
#17
Habs geschaft:

Private Sub CheckBox19_Click()

  If CheckBox19 = True Then
        ActiveSheet.Rows("4:20").Hidden = True
        ActiveSheet.Rows("59:79").Hidden = True
    Else
        ActiveSheet.Rows("4:20").Hidden = False
        ActiveSheet.Rows("59:79").Hidden = False
 
  End If
End Sub
Top
#18
Dennoch geht es viel einfacher:
Code:
Range("4:20,59:79").EntireRow.Hidden = CheckBox19

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#19
Hi,
als Erläuterung zum besseren Verständnis:
Wenn die CheckBox 19 angeklickt wird, wird sie TRUE, wenn sie wieder abgeklickt wird sie FALSE.

Mit diesen beiden Zuständen werden dann in nur einer Zeile ohne weitere IF THEN ElSE usw.-Spielereien die Bereiche ein- oder ausgeblendet.

(17.11.2016, 15:39)RPP63 schrieb: Dennoch geht es viel einfacher:
Code:
Range("4:20,59:79").EntireRow.Hidden = CheckBox19
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste