Siamo spiacenti di chiedere una domanda così semplice, ma questo mi sta facendo impazzire ...VBA lunghezza array (non UBound o onerror!)
Quale funzione in VBA restituisce il numero di elementi di un array ... vale a dire quando la matrice è vuota restituirà 0?
Non riesco a farlo con UBound perché genera un errore quando viene chiamato su un array vuoto e non posso credere al modo di farlo utilizzando OnError per determinare prima se è vuoto o meno ... come suggerito nei forum! array.Length si lamenta di un cattivo qualificatore o qualcosa del genere.
ho davvero bisogno di fare questo:
dim termAry() as String
populate termAry
...
private sub populate(terms() as String)
redim preserve terms(terms.Length) ' Redim takes ubound for array size
terms(ubound(terms)) = "something really annoying"
end sub
P.S eventuali buoni collegamenti con una serie concisa di VBA lingua e la funzione di riferimento sarebbe più utile ... MSDN sembra davvero oscuro !!!
cosa stai cercando di fare? avete bisogno di una fonte per il vostro array - da dove proviene da –
Vedere http://stackoverflow.com/questions/4097021/vba-handle-empty-array-error o http://stackoverflow.com/questions/206324/how -display-per-empty-array-in-vba-macro –
tutto ciò che serve per gestirlo è "if ubound (arr)> 1 then ...", per l'inizializzazione usa 'redim arr (MAX)' –