Sto scrivendo uno script che si collegherà a me tramite il foglio di calcolo Excel e troverà se ci sono duplicati delle celle selezionate. se ci sono dei duplicati, la funzione restituirà un array di quali file sono duplicati e creerà un commento per dirmi quali sono le righe duplicate. Sono stato in grado di gestire l'errore 0 ma ora ricevo l'errore 9 quando controllo l'array se ci sono elementi in esso che utilizzano la funzione UBound. Qualcuno sa come convalidare la matrice di numeri interi se è vuota o non causa il mio codice sembra non fare il lavoro. Qui di seguito è il mio codiceErrore di matrice vuota di handle VBA
Function IsArrayEmpty(anArray As Variant) As Boolean
Dim i As Integer
On Error Resume Next
i = UBound(anArray, 1)
Select Case (Err.Number)
Case 0
IsArrayEmpty = True
Case 9
IsArrayEmpty = True
Case Else
IsArrayEmpty = False
End Select
End Function
Non pretendo alcuna conoscenza speciale, ma a quanto pare questo metodo di controllo di un array vuoto sta sfruttando un bug in VBA e non dovrebbe essere utilizzato: http://stackoverflow.com/questions/183353/how-do-i- define-if-an-array-is-initialized-in-vb6/183356 # 183356 – jtolle
@jtolle - il tuo link è sicuramente la discussione definitiva su questa domanda. forse questo Q dovrebbe essere un duplicato. o almeno il tuo link dovrebbe essere la risposta alla Q di Talguy. – hawbsl
@jtolle Può essere. Ho usato questa cosa prima, ma siccome non l'ho creata, non rivendico alcuna virtù al riguardo. –