Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Ciao. Per effettuare il controllo in oggetto, ho trovato suggerimenti diversi, del genere:
If .Range("A1") = "" Then
oppure
If .Range("A1") = 0 Then
oppure
If Evaluate("=COUNTBLANK(" & .Range("A1").Address & ")") = 1 Then
Potrei avere chiarimenti sulla differenza tra un codice e l'altro?
e/o sul migliore da utilizzare e/o eventualmente altre soluzioni ? ho provato con il comando Empty, ma non son riuscito a farlo funzionare.
Grazie in anticipo per il riscontro, ciao.
Io utilizzerei questa per valutare il contenuto di una singola cella:
If Len(.Range("A1").Value) = 0 Then
oppure, in seconda battuta:
If .Range("A1").Value = "" Then
Questa qui la utilizzerei solo se dovessi controllare tot celle di un Range:
Public Sub m()
Dim lng As Long
Dim sh As Worksheet
Dim rng As Range
Set sh = ThisWorkbook.Worksheets("Foglio1")
With sh
Set rng = .Range("A1:A10")
lng = Evaluate("=COUNTBLANK(" & rng.Address & ")")
MsgBox lng
End With
Set rng = Nothing
Set sh = Nothing
End Sub
Per una singola cella, richiamare il metodo Evaluate costa solo tempo macchina. Per più celle, evita invece il tempo macchiana richiesto dal cicli for. Attento che 0(zero) e "" sono cose molto, molto diverse.