Vba 多位数分裂函数

Vba 多位数分裂函数,vba,excel,Vba,Excel,在必要时,尝试区分在范围内提供的单个交易编号。随着数据库的增长,交易数量将是动态的,因此使用静态数量的场所是无效的。交易编号格式列示为“93246”或“93246-93249”。为了验证其他数据,我只需要范围中的一个数字。目前我的代码只捕获了-,左边的一位数。有什么想法吗?这是一个更大的例行程序的一小部分 提前谢谢 dealNum = reportsByFirm.Cells(row_counter, dealCol) FileType = ".pdf" If InStr(1, dealNum,

在必要时,尝试区分在范围内提供的单个交易编号。随着数据库的增长,交易数量将是动态的,因此使用静态数量的场所是无效的。交易编号格式列示为“93246”或“93246-93249”。为了验证其他数据,我只需要范围中的一个数字。目前我的代码只捕获了-,左边的一位数。有什么想法吗?这是一个更大的例行程序的一小部分

提前谢谢

dealNum = reportsByFirm.Cells(row_counter, dealCol)
FileType = ".pdf"

If InStr(1, dealNum, "-") > 0 Then

    DealArray() = Split(dealNum, "-")
    tempDeal = LBound(DealArray)

ElseIf InStr(1, dealNum, "-") < 0 Then
    tempDeal = dealNum
End If

tradeLocation = tradesMaster.Columns(2).Find(What:=tempDeal)
dealNum=reportsByFirm.Cells(行计数器,dealCol)
FileType=“.pdf”
如果InStr(1,dealNum,“-”)大于0,则
DealArray()=拆分(dealNum,“-”)
tempdale=LBound(DealArray)
ElseIf InStr(1,dealNum,“-”)则<0
tempdale=dealNum
如果结束
tradeLocation=tradesMaster.Columns(2).Find(What:=tempdale)

此行导致问题:

tempDeal = LBound(DealArray)
它实际分配给
tempDeal
变量的是array
DealArray
的基本索引,而不是它的第一个元素

您需要按如下方式进行更改:

tempDeal = DealArray(LBound(DealArray))

这太棒了!非常感谢你!刚从VBA开始,所以细微差别让我明白。那么,通过使用LBound(DealArray)作为Deal数组的索引位置,您调用的是第一个元素,而不是基本索引?