2015-12-18 4 views
1

Пытается выделить отдельные номера сделок, которые предоставляются в диапазонах, когда это необходимо. Номера транзакций будут динамичными по мере роста базы данных, поэтому нецелесообразно использовать статическое количество мест. Формат номера сделки либо указан как E.G. «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) 

ответ

1

Эта линия вызывает проблема:

tempDeal = LBound(DealArray) 

Что это фактически присваивает переменной tempDeal является базовым индексом массива DealArray вместо ее первого элемента.

Вы должны изменить его, как показано ниже:

tempDeal = DealArray(LBound(DealArray)) 
+0

Это прекрасно работает! Большое спасибо! Только что началось с VBA, поэтому мне нравятся нюансы. Таким образом, используя LBound (DealArray) в качестве местоположения индекса массива сделок, вы вызываете первый элемент, а не базовый индекс? – StormsEdge

Смежные вопросы