Buonasera, utilizzando una datata funzione (di Anthony) che mi riporta in una colonna (AD2:AD300) la somma delle celle colorate (non con formattazione) di ciascuna riga, non riesco a nascondere le righe che nella colonna suddetta presentano valore zero. Inutile dire che ho trovato e provato TUTTE le soluzioni prospettate da Antony e Flash, così come quelle di altri forum.
La funzione sottostante mi riporta con =CCC(B2:AB2;$A$1) nella colonna suddetta il numero di celle che hanno il colore della cella A1.
Ovviamente ci sono molte celle nella colonna AD con valore 0 (zero)
Function CCC(SCells As Range, TCell As Range)
Application.Volatile
TColor = TCell.Interior.ColorIndex
For Each Cella In SCells
If Cella.Interior.ColorIndex = TColor Then CCC = CCC + 1
Next Cella
End Function
E queste le macro tentate, tutte non nascondono un ciufolo. Al lancio delle varie macro di prova la colonna AD con le quantità delle celle colorate presenta su tutte le celle #VALORE! che ritornano ad essere numeri con F9.
Sub Nasconde_RigheVuote()
' Macro registrata il 02/04/2017 da packardbell
'
'
Sheets("Foglio1").Select
Righe = Cells(Rows.Count, 30).End(xlUp).Row
For I = Righe To 1 Step -1
Cells(I, 30).Select
'If Selection.Value = 0 Then Selection.EntireRow.Delete
'If Not IsNumeric(Selection.Value) Then Selection.EntireRow.Delete
If Selection.Value = 0 Or Not IsNumeric(Selection.Value) Then Selection.EntireRow.Delete
Next I
End Sub
Sub Bis()
Righe = Cells(Rows.Count, 1).End(xlUp).Row
For I = Righe To 1 Step -1
Cells(I, 30).Select
If Selection.Value = 0 Then Selection.EntireRow.Delete
Next I
End Sub
Sub nascondirighe()
Dim r As Long
For r = 1 To 20
contavalori = Application.WorksheetFunction.CountA(Range("AD" & r).EntireRow)
If contavalori = 0 Then
Rows(r).EntireRow.Hidden = True
End If
Next r
End Sub
Sub nascondirighe2()
Dim r As Long
For r = 2 To 20
If Cells(r, 30) = 0 Then
Rows(r).EntireRow.Hidden = True
End If
Next r
End Sub
Sub tris()
Dim r As Long
For r = 3 To 20
contavalori = Application.WorksheetFunction.CountA(Range("AD" & r).EntireRow)
If contavalori = 0 Then
Rows(r).EntireRow.Hidden = True
End If
Next r
End Sub
Mi scuso per aver incollato le informazioni, ma non sono riuscito a "scoprire" come allegare il file o l'immagine del Foglio1.
Cordiali saluti
Enrico