Ammammata
2024-04-17 12:11:03 UTC
tempo fa mi era stata suggerita una routine per leggere le righe di un
foglio, verificare se la cella di una determinata colonna avesse un
certo colore di sfondo e in caso positivo eliminare tutta la riga
la routine è eseguita su un foglio dopo una routine precedente che
elimina determinate colonne
Public Sub EliminaRigheGialle()
Dim nr As Long
Dim l As Long
With ActiveSheet
nr = .Range("A500").End(xlUp).Row
For l = nr To 2 Step -1
If .Cells(l, 14).Interior.ColorIndex = 6 Then
.Rows(l).Delete Shift:=xlUp
End If
Next l
.Cells(1, 1).Select
End With
End Sub
debuggando il codice mi trovo subito all'inizio con la cella A1
selezionata (in seguito alla prima routine di eliminazione colonne), le
righe da 2 a 11 contenenti dati ma nascoste, le righe da 12 a 16
visibili con dati e sotto niente fino in fondo
arrivo quindi alla riga nr = .Range("A500").End(xlUp).Row
e ottengo il valore 1
poi il ciclo for...next viene ignorato e la routine termina
perché ottengo 1 ? mi aspetterei che partendo dalla riga 50 e salendo
verso l'alto di avere 16
foglio, verificare se la cella di una determinata colonna avesse un
certo colore di sfondo e in caso positivo eliminare tutta la riga
la routine è eseguita su un foglio dopo una routine precedente che
elimina determinate colonne
Public Sub EliminaRigheGialle()
Dim nr As Long
Dim l As Long
With ActiveSheet
nr = .Range("A500").End(xlUp).Row
For l = nr To 2 Step -1
If .Cells(l, 14).Interior.ColorIndex = 6 Then
.Rows(l).Delete Shift:=xlUp
End If
Next l
.Cells(1, 1).Select
End With
End Sub
debuggando il codice mi trovo subito all'inizio con la cella A1
selezionata (in seguito alla prima routine di eliminazione colonne), le
righe da 2 a 11 contenenti dati ma nascoste, le righe da 12 a 16
visibili con dati e sotto niente fino in fondo
arrivo quindi alla riga nr = .Range("A500").End(xlUp).Row
e ottengo il valore 1
poi il ciclo for...next viene ignorato e la routine termina
perché ottengo 1 ? mi aspetterei che partendo dalla riga 50 e salendo
verso l'alto di avere 16
--
/-\ /\/\ /\/\ /-\ /\/\ /\/\ /-\ T /-\
-=- -=- -=- -=- -=- -=- -=- -=- - -=-
........... [ al lavoro ] ...........
/-\ /\/\ /\/\ /-\ /\/\ /\/\ /-\ T /-\
-=- -=- -=- -=- -=- -=- -=- -=- - -=-
........... [ al lavoro ] ...........