ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Test if an element of array is empty (https://www.excelbanter.com/excel-programming/425694-test-if-element-array-empty.html)

Ryan H

Test if an element of array is empty
 
How can I test if .aryPartDes(2) has something in it? Note: PartInfo() is a
function, where it looks up the part number "UVOvercoat", and stores a 1 x 4
Range in .aryPartDes(2). If nothing is assigned to .aryPartDes(2) then I get
an error indicated below. Any ideas?


' formetco UV overcoat material
If chkUVOvercoat.Enabled And chkUVOvercoat Then
.aryPartDes(2) = PartInfo("UVOvercoat")
.aryPartQty(2) = .TrimSqFt * Val(tbxQuantity)
End If

' must have minimum $175 order each face: material + overcoat
ERROR If .aryPartDes(2) = Empty Then
If .TrimSqFt * (.aryPartDes(1)(1, 4) + .aryPartDes(2)(1, 4)) < 175 Then
.aryPartDes(1) = PartInfo("FormetcoMinPrice")
.aryPartQty(1) = Val(tbxQuantity)

Erase .aryPartDes(2)
.aryPartQty(2) = 0
End If
Else
If .TrimSqFt * .aryPartDes(1)(1, 4) < 175 Then
.aryPartDes(1) = PartInfo("FormetcoMinPrice")
.aryPartQty(1) = Val(tbxQuantity)
End If
End If
--
Cheers,
Ryan

Gary''s Student

Test if an element of array is empty
 
rather than:
If .aryPartDes(2) = Empty
try:
If isempty(.aryPartDes(2))
--
Gary''s Student - gsnu200839


"Ryan H" wrote:

How can I test if .aryPartDes(2) has something in it? Note: PartInfo() is a
function, where it looks up the part number "UVOvercoat", and stores a 1 x 4
Range in .aryPartDes(2). If nothing is assigned to .aryPartDes(2) then I get
an error indicated below. Any ideas?


' formetco UV overcoat material
If chkUVOvercoat.Enabled And chkUVOvercoat Then
.aryPartDes(2) = PartInfo("UVOvercoat")
.aryPartQty(2) = .TrimSqFt * Val(tbxQuantity)
End If

' must have minimum $175 order each face: material + overcoat
ERROR If .aryPartDes(2) = Empty Then
If .TrimSqFt * (.aryPartDes(1)(1, 4) + .aryPartDes(2)(1, 4)) < 175 Then
.aryPartDes(1) = PartInfo("FormetcoMinPrice")
.aryPartQty(1) = Val(tbxQuantity)

Erase .aryPartDes(2)
.aryPartQty(2) = 0
End If
Else
If .TrimSqFt * .aryPartDes(1)(1, 4) < 175 Then
.aryPartDes(1) = PartInfo("FormetcoMinPrice")
.aryPartQty(1) = Val(tbxQuantity)
End If
End If
--
Cheers,
Ryan


Ryan H

Test if an element of array is empty
 
I figured out what is was. Yes you are correct! I had tried that earlier,
but it didn't seem work correctly. It turns out I did not clear out the old
data from the array first by using the Erase method, thus my If...Then
statement wasn't working correctly.

Thanks for the help!
--
Cheers,
Ryan


"Gary''s Student" wrote:

rather than:
If .aryPartDes(2) = Empty
try:
If isempty(.aryPartDes(2))
--
Gary''s Student - gsnu200839


"Ryan H" wrote:

How can I test if .aryPartDes(2) has something in it? Note: PartInfo() is a
function, where it looks up the part number "UVOvercoat", and stores a 1 x 4
Range in .aryPartDes(2). If nothing is assigned to .aryPartDes(2) then I get
an error indicated below. Any ideas?


' formetco UV overcoat material
If chkUVOvercoat.Enabled And chkUVOvercoat Then
.aryPartDes(2) = PartInfo("UVOvercoat")
.aryPartQty(2) = .TrimSqFt * Val(tbxQuantity)
End If

' must have minimum $175 order each face: material + overcoat
ERROR If .aryPartDes(2) = Empty Then
If .TrimSqFt * (.aryPartDes(1)(1, 4) + .aryPartDes(2)(1, 4)) < 175 Then
.aryPartDes(1) = PartInfo("FormetcoMinPrice")
.aryPartQty(1) = Val(tbxQuantity)

Erase .aryPartDes(2)
.aryPartQty(2) = 0
End If
Else
If .TrimSqFt * .aryPartDes(1)(1, 4) < 175 Then
.aryPartDes(1) = PartInfo("FormetcoMinPrice")
.aryPartQty(1) = Val(tbxQuantity)
End If
End If
--
Cheers,
Ryan



All times are GMT +1. The time now is 03:09 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com