![]() |
TESTING FOR EMPTY ARRAY
I am downloading a 2-dimensional, zero-based, Variant array from
Bloomberg for various securities. For any given security, there are three situations: 1) the array is empty; 2) there are two elements (one row, two columns); or 3) there are two or more elements in each column. There will always be an equal number of elements in each column. My code needs to be able to distinguis between situation 1 and situation 2; the LBound(Dimension 1) and UBound(Dimension 1) are zero for each. When testing LBound(Dimension 2) and UBound(Dimension 2) for situation 1, I get the error "Subscript out of range". I have tried the following: If Not IsArray(vtData(x, 0)) Then 'where x = 0 To UBound(Dimension 1) Result == both situation 1 and 2, value is False and If IsEmpty(vtData(0, 0)(x, 0) 'where x = 0 To UBound(Dimension 1) Result == for situation 1, I get the error "Subscript out of range". Help. |
TESTING FOR EMPTY ARRAY
I think you already have the answer. If UBound = 0, then your have
situation 1. Don't do any more testing. "JingleRock" wrote: I am downloading a 2-dimensional, zero-based, Variant array from Bloomberg for various securities. For any given security, there are three situations: 1) the array is empty; 2) there are two elements (one row, two columns); or 3) there are two or more elements in each column. There will always be an equal number of elements in each column. My code needs to be able to distinguis between situation 1 and situation 2; the LBound(Dimension 1) and UBound(Dimension 1) are zero for each. When testing LBound(Dimension 2) and UBound(Dimension 2) for situation 1, I get the error "Subscript out of range". I have tried the following: If Not IsArray(vtData(x, 0)) Then 'where x = 0 To UBound(Dimension 1) Result == both situation 1 and 2, value is False and If IsEmpty(vtData(0, 0)(x, 0) 'where x = 0 To UBound(Dimension 1) Result == for situation 1, I get the error "Subscript out of range". Help. |
TESTING FOR EMPTY ARRAY
Dim ub2 as Long
Dim bSit1 as Boolean if Ubound(v,1) = 0 then on Error Resume Next ub2 = Ubound(v,2) if err < 0 then _ bSit1 = True on Error goto 0 if bSit1 then -- Regards, Tom Ogilvy "JingleRock" wrote: I am downloading a 2-dimensional, zero-based, Variant array from Bloomberg for various securities. For any given security, there are three situations: 1) the array is empty; 2) there are two elements (one row, two columns); or 3) there are two or more elements in each column. There will always be an equal number of elements in each column. My code needs to be able to distinguis between situation 1 and situation 2; the LBound(Dimension 1) and UBound(Dimension 1) are zero for each. When testing LBound(Dimension 2) and UBound(Dimension 2) for situation 1, I get the error "Subscript out of range". I have tried the following: If Not IsArray(vtData(x, 0)) Then 'where x = 0 To UBound(Dimension 1) Result == both situation 1 and 2, value is False and If IsEmpty(vtData(0, 0)(x, 0) 'where x = 0 To UBound(Dimension 1) Result == for situation 1, I get the error "Subscript out of range". Help. |
TESTING FOR EMPTY ARRAY
On Aug 27, 12:04 pm, Joel wrote:
I think you already have the answer. If UBound = 0, then your have situation 1. Don't do any more testing. Maybe this was not clear: My code needs to be able to distinguish between situation 1 and situation 2; the LBound(Dimension 1) and UBound(Dimension 1) are zero for each. |
TESTING FOR EMPTY ARRAY
Tom,
Thank you very much, again. Your code works great. JingleRock |
All times are GMT +1. The time now is 01:22 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com