Ho un foglio di lavoro con 70.000 righe di dati e una semplice macro che conta il numero totale di righe:VBA Integer Overflow a 70.000
Dim LastRow as Integer
LastRow = SourceSheet.Cells.Find(what:="*", searchdirection:=xlPrevious, searchorder:=xlByRows).Row
MsgBox (LastRow)
Ciò restituisce un errore di overflow. La modifica di LastRow a Long restituisce il valore corretto di 70.000.
In base a Microsoft's website, un numero VBA dovrebbe essere in grado di contenere valori compresi tra -2.147.483.648 e 2.147.483.647. Il mio risultato è all'interno di questo intervallo, quindi perché fallirebbe?
Grazie!
Gah! Certo che stavo guardando la pagina sbagliata. Grazie per la risposta rapida. +1 – DixieFlatline
@DixieFlatline Solo una FYI, puoi anche accedere all'ultima riga in qualsiasi momento da SourceSheet.UsedRange.Rows.Count e l'ultima colonna da SourceSheet.UsedRange.Columns.Count – MatthewD
Grazie per il suggerimento! L'ho confrontato con il metodo che stavo usando e ho notato che il mio conta solo le righe con i dati, e il tuo conta anche le righe con la formattazione. – DixieFlatline