PDA

Visualizza la versione completa : cancellare righe ....


sal21
04-03-2004, 15:36
... ho un range di righe da A3:P1500 in alcune di queste sono presenti righe con fonts di colore di rosso e blu ora vorrei cancellare per intero tutte el righe con il font colorato... e lasciare quelle con il colore di default quindi quelle con il font nero

grullo
04-03-2004, 16:43
Prova questa routine:

Sub Macro2()
Dim blnCancellaRiga As Boolean
blnCancellaRiga = False
For i = 3 To 1500
For j = 1 To 16
If Foglio1.Cells(i, j).Font.ColorIndex <> 0 And Foglio1.Cells(i, j).Font.ColorIndex <> -4105 Then
blnCancellaRiga = True
Exit For
Else
blnCancellaRiga = False
End If
Next j
If blnCancellaRiga = True Then
Rows(i).Delete Shift:=xlUp
i = i - 1
End If
Next i
End Sub

;)

sal21
08-03-2004, 14:53
Originariamente postato da grullo
Prova questa routine:

Sub Macro2()
Dim blnCancellaRiga As Boolean
blnCancellaRiga = False
For i = 3 To 1500
For j = 1 To 16
If Foglio1.Cells(i, j).Font.ColorIndex <> 0 And Foglio1.Cells(i, j).Font.ColorIndex <> -4105 Then
blnCancellaRiga = True
Exit For
Else
blnCancellaRiga = False
End If
Next j
If blnCancellaRiga = True Then
Rows(i).Delete Shift:=xlUp
i = i - 1
End If
Next i
End Sub

;)

... Mitico, invece di fare un ciclo di 1500 righe si puo fare fino a quando non trovi nulla in colonna M?

grullo
08-03-2004, 15:01
Sub Macro2()
Dim blnCancellaRiga As Boolean
blnCancellaRiga = False
For i = 3 To 1500
If Foglio1.Cells(i, 13) = vbNullString Then Exit For
For j = 1 To 16
If Foglio1.Cells(i, j).Font.ColorIndex <> 0 And Foglio1.Cells(i, j).Font.ColorIndex <> -4105 Then
blnCancellaRiga = True
Exit For
Else
blnCancellaRiga = False
End If
Next j
If blnCancellaRiga = True Then
Rows(i).Delete Shift:=xlUp
i = i - 1
End If
Next i
End Sub

Cosė tenta di ciclare dalla riga 3 alla riga 1500. Se trova nella colonna 13 (la M) il valore di stringa vuota interrompe il ciclo!
;)