Страницы: 1
RSS
Записать подходящее значение из диапазона в динамический массив
 
Доброго времени суток!
Я хочу пройти циклом по диапазону и если значение подходит по условию то записать в динамический массив, а после обратится к нему.
При обращении к массиву мне выдает 0. так понимаю я не правильно записываю в массив. Помогите пожалуйста найти ошибку. Пример прикладываю.  
 
у вас
Код
Dim arrTemp() As Integer

а запихиваете в него строку
во вторых, For i = 5 (то есть у вас потом заполнение идет начиная с 5-го элемента массива (хз почему), а вот запрашиваете потом MsgBox arrTemp(2).
А в arrTemp(2) вы ничего и не записали
F1 творит чудеса
 
вы массив заполняете с 5-ого значения за запрашиваете 2-ое.
массив задали числовой а пытаетесь туда вписать текст.
Изменено: V - 19.08.2016 11:53:45
 
Пример
Код
Sub uuu()
    Dim a(), b()
    Dim i&, j&
    Dim s$
'--------------
    s = Sheets("Лист1").Cells(2, 1) 'запоминаем искомую фразу
    a = Sheets("Рейсы").UsedRange.Value 'берём диапазон с листа рейсы в массив
    For i = 1 To UBound(a) 'проходим по начальному массиву
        If a(i, 4) = s Then 'если совпадает искомая фраза и значение элемента массива то
            j = j + 1 'увеличиваем счётчик элементов итогового массива
            ReDim Preserve b(1 To j) 'изменяем размер массива с сохранением данных
            b(j) = a(i, 1) 'вносим в итоговый массив значение из базового массива
        End If
    Next
    'выводим сообщение, собирая элементы итогового массива в строку с переносом строки - чтобы ваще круто было
    MsgBox Join(b, Chr(10))
End Sub
Изменено: kalbasiatka - 19.08.2016 11:59:55
 
Спасибо большое. Usedrange - это выделенный диапазон?
 
Цитата
monster$ написал: Usedrange - это выделенный диапазон?
Это используемый диапазон. Даже само название об этом говорит - Used
Страницы: 1
Читают тему
Наверх