Visualizza e nascondi colonne in base al numero

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
melaverde74
00martedì 3 maggio 2016 13:12
Visualizza e nscondi colonne in base al numero
Ciao sono Simone

mi sono appena iscritto al forum vorrei chiedere il vostro aiuto per realizzare un vba che mi permetta di scoprire e nascondere determinate colonne cliccando su delle celle definite
allego un file di esempio

ciao ciao
federico460
00martedì 3 maggio 2016 13:57
Ciao
nel foglio 1


Private Sub Worksheet_SelectionChange(ByVal Target As Range)


If Target.AddressLocal = "$D$3" Then
Columns("P:DK").Select
Selection.EntireColumn.Hidden = True
Columns("P:Y").EntireColumn.Hidden = False
Else
If Target.AddressLocal = "$F$3" Then
Columns("P:DK").Select
Selection.EntireColumn.Hidden = True
Columns("Z:AI").EntireColumn.Hidden = False
End If
End If
End Sub



e così via per le 10 possibilità

fatti un pulsante o una cella dove mettere la chiusura di tutte le colonne


Columns("P:DK").Select
Selection.EntireColumn.Hidden = False


oppure l'apertura

Columns("P:DK").Select
Selection.EntireColumn.Hidden = True



raffaele1953
00martedì 3 maggio 2016 14:06
@federico460
Ciao, ormai l'ho fatto

Premi Alt+F11 e sulla destra incolli il codice.
Salva file come XSLM e fai doppio_click sulle celle

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("D3,D5,F3,F5,H3,H5,J3,J5,L3,L5")) Is Nothing Then
    Columns("P:DK").Hidden = True
    Dim Col, X
    Col = (Target.Offset(0, 0).Value * 10) + 6
    For X = Col To Col + 9
        Columns(X).Hidden = False
    Next X
End If
End Sub
by sal
00martedì 3 maggio 2016 14:11
Vedi Nascondi Colonne
Ciao Simone, una semplice macro nel modulo del foglio:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim d
If Not Intersect(Target, [b3,d3,f3,h3,j3,l3,d5,f5,h5,j5,l5]) Is Nothing Then
    d = Target
    Application.ScreenUpdating = False
    Columns("O:DL").Select
    Selection.EntireColumn.Hidden = True
    Select Case d
        Case 0: Columns("O:DL").Select: Selection.EntireColumn.Hidden = True: Cells(1, 1).Select
        Case 1: Columns("P:Y").Select: Selection.EntireColumn.Hidden = False
        Case 2: Columns("Z:AI").Select: Selection.EntireColumn.Hidden = False
        Case 3: Columns("AJ:AS").Select: Selection.EntireColumn.Hidden = False
        Case 4: Columns("AT:BC").Select: Selection.EntireColumn.Hidden = False
        Case 5: Columns("BD:BM").Select: Selection.EntireColumn.Hidden = False
        Case 6: Columns("BN:BW").Select: Selection.EntireColumn.Hidden = False
        Case 7: Columns("BX:CG").Select: Selection.EntireColumn.Hidden = False
        Case 8: Columns("CH:CQ").Select: Selection.EntireColumn.Hidden = False
        Case 9: Columns("CR:DA").Select: Selection.EntireColumn.Hidden = False
        Case 10: Columns("DB:DK").Select: Selection.EntireColumn.Hidden = False
    End Select
    Application.ScreenUpdating = True
End If
End Sub


ho aggiunto anche il tasto 0zero


ciao By Sal [SM=x423051]

federico460
00martedì 3 maggio 2016 14:20
ah! ah! ah!

mooolto meglio

dall'asilo all'università [SM=x423047]
federico460
00martedì 3 maggio 2016 14:41
Ciao

a completare l'opera
ci vorrebbe una cell con scritto 11 che scopra tutte le colonne

per esempio in B5




Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim d

If Not Intersect(Target, [b3,d3,f3,h3,j3,l3,b5,d5,f5,h5,j5,l5]) Is Nothing Then
d = Target
Application.ScreenUpdating = False
Columns("O:DL").Select
Selection.EntireColumn.Hidden = True
Select Case d
Case 0: Columns("O:DL").Select: Selection.EntireColumn.Hidden = True: Cells(1, 1).Select
Case 1: Columns("P:Y").Select: Selection.EntireColumn.Hidden = False
Case 2: Columns("Z:AI").Select: Selection.EntireColumn.Hidden = False
Case 3: Columns("AJ:AS").Select: Selection.EntireColumn.Hidden = False
Case 4: Columns("AT:BC").Select: Selection.EntireColumn.Hidden = False
Case 5: Columns("BD:BM").Select: Selection.EntireColumn.Hidden = False
Case 6: Columns("BN:BW").Select: Selection.EntireColumn.Hidden = False
Case 7: Columns("BX:CG").Select: Selection.EntireColumn.Hidden = False
Case 8: Columns("CH:CQ").Select: Selection.EntireColumn.Hidden = False
Case 9: Columns("CR:DA").Select: Selection.EntireColumn.Hidden = False
Case 10: Columns("DB:DK").Select: Selection.EntireColumn.Hidden = False
Case 11: Columns("O:DL").Select: Selection.EntireColumn.Hidden = False: Cells(1, 1).Select
End Select
Application.ScreenUpdating = True
End If
End Sub




melaverde74
00mercoledì 4 maggio 2016 14:41
UN'AFFETTUOSO GRAZIE A TUTTI, FUNZIONA ALLA GRANDE ! [SM=x423017] [SM=x423017]

Simone
Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 14:50.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com