Estoy escribiendo un script que recorrerá toda la hoja de cálculo y encontrará si hay algún duplicado de las celdas seleccionadas. si hay dups, la función devolverá una matriz cuyas filas son dups y creará un comentario que diga qué filas son dups. Pude manejar el error 0, pero ahora obtengo el error 9 cuando reviso la matriz si hay elementos en ella usando la función UBound. ¿Alguien sabe cómo validar la matriz de enteros si está vacía o no, porque mi código parece no estar haciendo el trabajo? A continuación se muestra el códigoVBA Manejar error de matriz vacía
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
No me consta que tenga un conocimiento especial, pero aparentemente este método de comprobar si hay una matriz vacía está explotando un error en VBA y no debería utilizarse: http://stackoverflow.com/questions/183353/how-do-i- determine-si-una-matriz-es-inicializada-en-vb6/183356 # 183356 – jtolle
@jtolle - seguramente su enlace es la discusión definitiva de esta pregunta. quizás esta Q debería marcar un dup. o al menos su enlace debería ser la respuesta a Q de Talguy. – hawbsl
@jtolle Puede ser. Usé esto antes, pero como no lo creé, no reclamo ninguna virtud al respecto. –