Ciao.
Per fare questo (valido da Excel 2007 in poi) , credo che il sistema più semplice sia formattare l'intervallo come tabella (
Fai prima la prova su una copia del file):
-Selezioni tutto l'intervallo che vuoi formattare (comprese le intestazioni, se ci sono)
-Nella scheda Home->Formatta come tabella, selezioni il formato che preferisci.
-Se la tua tabella ha delle intestazioni, metti la spunta a "Tabella con intestazioni"
-Annotati il nome assegnato alla tabella; per visualizzare il nome della tabella clicca sull'angolo in alto a sinistra della tabella, quando il cursore diventa una freccia inclinata di 45 gradi.
Puoi visualizzare il nome della tabella anche dalla scheda Formule->Gestione Nomi.
Una volta fatto questo, è possibile utilizzare l'evento Worksheet_Change per controllare il n° di righe della tabella ed eventualmente cancellare la prima riga.
Nel modulo di codice del foglio interessato inserisci
- Codice: Seleziona tutto
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
With Me.ListObjects("Tabella1") '<== Modifica questo valore col nome della tua tabella
If Not Intersect(Target, .DataBodyRange) Is Nothing Then
If .ListRows.Count > 1800 Then
Application.EnableEvents = False
.ListRows(1).Delete
Application.EnableEvents = True
End If
End If
End With
End Sub
Se necessario cambia Tabella1 col nome della tua tabella.