
codice per scoprire/nascondere schede e sotto la macro per applicarlo a tutte.
Sub CheckBoxscheda()
Dim ws As Worksheet
Dim chk As CheckBox
Set ws = ActiveSheet
Set chk = ws.CheckBoxes(Application.Caller)
Select Case chk.Value
Case 1 'box is checked
Worksheets("Foglio2").Visible = True
Case Else 'box is not checked
Worksheets("Foglio2").Visible = False
End Select
End Sub
Sub SetCheckBoxesMacro()
Dim chk As CheckBox
For Each chk In ActiveSheet.CheckBoxes
chk.OnAction = "CheckBoxscheda"
Next chk
End Sub
|
| scossa's web site |
| Se tu hai una mela, ed io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw) |
Sub CheckBoxscheda()
Dim ws As Worksheet
Dim chk As CheckBox
Dim chkCaller As CheckBox
Dim sh As Worksheet
Set ws = ActiveSheet
Set chkCaller = ws.CheckBoxes(Application.Caller)
For Each sh In Sheets(Array("Foglio2", "Foglio3", "Foglio4", "Foglio5")) 'aggiungere gli altri fogli (6, 7, 8 e 9 se esistono)
sh.Visible = xlSheetHidden
Next
For Each chk In ActiveSheet.CheckBoxes
If chkCaller.Value = 1 And chk.Name = chkCaller.Name Then
Worksheets("Foglio" & Range(chk.LinkedCell).Row).Visible = True
Else
chk.Value = 0
End If
Next
Set ws = Nothing
Set chkCaller = Nothing
End Sub |
| scossa's web site |
| Se tu hai una mela, ed io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw) |
Sub CheckBoxscheda()
Dim ws As Worksheet
Dim chk As CheckBox
Dim chkCaller As CheckBox
Dim sh As Worksheet
Set ws = ActiveSheet
Set chkCaller = ws.CheckBoxes(Application.Caller)
For Each sh In Sheets(Array("Foglio2", "Foglio3", "Foglio4", "Foglio5")) 'aggiungere gli altri fogli (6, 7, 8 e 9 se esistono)
sh.Visible = xlSheetHidden
Next
For Each chk In ActiveSheet.CheckBoxes
If chk.Value = 1 Then
Worksheets("Foglio" & Range(chk.LinkedCell).Row).Visible = True
Else
Worksheets("Foglio" & Range(chk.LinkedCell).Row).Visible = False
End If
Next
Set ws = Nothing
Set chkCaller = Nothing
End Sub |
Sub CheckBoxscheda() ' multi select
Dim ws As Worksheet
Dim chk As CheckBox
Dim chkCaller As CheckBox
Dim sh As Worksheet
Set ws = ActiveSheet
Set chkCaller = ws.CheckBoxes(Application.Caller)
For Each sh In Sheets
If sh.Name <> "Foglio1" Then sh.Visible = xlSheetHidden
Next
For Each chk In ActiveSheet.CheckBoxes
If chk.Value = 1 Then
Worksheets("Foglio" & Range(chk.LinkedCell).Row).Visible = True
Else
Worksheets("Foglio" & Range(chk.LinkedCell).Row).Visible = False
End If
Next
Set ws = Nothing
Set chkCaller = Nothing
End Sub
|
| scossa's web site |
| Se tu hai una mela, ed io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw) |
Sub CheckBoxscheda()
Dim ws As Worksheet
Dim chk As CheckBox
Dim chkCaller As CheckBox
Dim sh As Worksheet
Set ws = ActiveSheet
Set chkCaller = ws.CheckBoxes(Application.Caller)
For Each sh In Sheets(Array(2, 3, 4, 5)) 'aggiungere gli altri fogli (6, 7, 8 e 9 se esistono)
sh.Visible = xlSheetHidden
Next
For Each chk In ActiveSheet.CheckBoxes
Worksheets("" & Range(chk.LinkedCell).Offset(0, -2).Value).Visible = IIf(chk.Value = 1, True, False)
Next
Set ws = Nothing
Set chkCaller = Nothing
End Sub |
