salve ho un problema
ho un file excel che devo aprire e copiare dentro un foglio di un altro file excel
una prima operazione che faccio e contare per stabilire i range il numero di valori presenti in determinate colonne (colonne chiave)
uso questo codice:
maxRigaTabF = sh.Range("F" & .Rows.Count).End(xlUp).Row
il problema e che questo valore è uguale all'ultima cella piena più 1
non capisco il perchè è come
se la cella pur essendo bianca (vuota) abbia qualche stato che la caratterizza come "piena"
grazie
non capisco mi torna 2605 ma la riga 2605 è vuota ...
ho provato anche con
ActiveSheet.UsedRange.Rows.Count
torna 2605 che succede ?
mi sa che ho capito!
ho trovato questa frase
"Counts the number of used (cells with data or formatted) rows in the worksheet, starting from the first used row till the last used row. Does not give row no of last used row."
cioè significa che se è vuota ma è formattata anche solo un grasseto excel la prende come buona!
è possibile trovare l'ultima cella valida con un valore ?
ho devo farmi una routine ad hoc
grazie
ho fatto questa non so se può essere utile per il gruppo
Public Function getMaxRowByColumnOnlyData(pSheetOr As Worksheet, pColumn)
lRiga = pSheetOr.Range(pColumn & ActiveSheet.Rows.Count).End(xlUp).Row
'torno indietro a ritroso fin quando non trovo dati non formattazioni
If lRiga > 1 Then
For I = 0 To lRiga
If pSheetOr.Range(pColumn & lRiga - I).value <> "" Then
Exit For
End If
Next
'ho trovato la prima riga valida piena
lRiga = lRiga - I
End If
getMaxRowByColumnOnlyData = lRiga
End Function
questa versione dovrebbe essere la definitiva