macro per riga



  • macro per riga
    di Danny data: 10/03/2016 12:48:47

    ciao , é possibile creare una macro che quando clicco 2 volte su qualsiasi cella della riga 1 “ indipendente dal valore che contiene “ mi nasconde la riga 2 “ 3 “ 4 “ e quando clicco di nuovo su una cella della riga 1 me le fa rivedere? ma che funziona anche sulla riga 5 che nasconde le righe 6 “ 7 “ 8 e così via ogni 4 righe fino alla riga 30 del foglio?

    grazie
    un amichevole saluto

    Danny



  • di patel data: 10/03/2016 13:57:26

    prova questa
     
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    r = Target.Row
    If Rows(r + 1).Hidden = True Then
      Rows(r + 1 & ":" & r + 3).Hidden = False
    Else
      Rows(r + 1 & ":" & r + 3).Hidden = True
    End If
    End Sub






  • di alfrimpa data: 10/03/2016 14:34:09

    Ciao Danny ed un caro saluto a Patel
    Io aggiungerei un

    Cancel = True

    prima di End Sub così la cella non rimane in modalità "Modifica".

    Aggiungo anche la mia macro che funziona solo dalla riga 1 alla riga 30 ma che è sostanzialmente uguale a quella di Patel.

    Alfredo
     
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim i As Integer
    Dim numriga As Integer
    If Not Intersect(Target, Range(Rows(1), Rows(30))) Is Nothing Then
        numriga = Target.Row
        Range(Rows(numriga + 1), Rows(numriga + 3)).Select
        If Selection.EntireRow.Hidden = False Then
            Selection.EntireRow.Hidden = True
        Else
            Selection.EntireRow.Hidden = False
        End If
    Cancel = True
    End If
    End Sub
    






  • di scossa data: 10/03/2016 15:02:42

    Ciao,

    cit.: " una macro che quando clicco 2 volte su qualsiasi cella della riga 1 “ indipendente dal valore che contiene “ mi nasconde la riga 2 “ 3 “ 4 “ e quando clicco di nuovo su una cella della riga 1 me le fa rivedere? ma che funziona anche sulla riga 5 che nasconde le righe 6 “ 7 “ 8 e così via ogni 4 righe fino alla riga 30 del foglio?"

    Io ho capito diversamente, cioè che la macro deve funzionare solo sulle righe 1, 5, 9 ..... 29
    Sotto il codice che fa quanto richiesto.

    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)

     
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
      If Not Intersect(Target.EntireRow, Me.Range("$1:$1,$5:$5,$9:$9,$13:$13,$17:$17,$21:$21,$25:$25,$29:$29")) Is Nothing Then
        With Target.Offset(1, 0).Resize(3).EntireRow
          .Hidden = Not .Hidden
        End With
        Cancel = True
      End If
    End Sub
    



  • di Danny data: 11/03/2016 12:13:03

    Mille grazie a tutti !!!
    funzionano alla grande

    saluti
    Danny