Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2010, 17:32   #1
borik120
Пользователь
 
Регистрация: 17.01.2010
Сообщений: 30
По умолчанию запись ячеек в массив

Здравствуйте. Обращаюсь за помощью во второй раз, в первый раз помогли, за что большое спасибо

есть диапазон ячеек, к примеру от A1 до D20. как можно составить массив из этого диапазона, но только для тех строк, в которых в столбце D что то есть (непусто).
и второй вопрос, к приеру в столбце D содержаться числа, мне на каком то моменте программы нужно присваивать значения этих чисел какой то переменной, и использовать в качестве параметра цикла for to. просто когда я пытаюсь присвоить значение массива переменной, выдает ошибку вроде object varible. я делаю примерно так s = a(i,2)
заранее спасибо.
borik120 вне форума Ответить с цитированием
Старый 25.01.2010, 17:41   #2
Xpoft
Пользователь
 
Регистрация: 25.11.2009
Сообщений: 55
По умолчанию

Заполнение массива:
Код:
j=1
For i =1 to 20
if cells(i,4).value <> "" then
a(j,1) = cells(i,1).value
a(j,2) = cells(i,2).value
a(j,3) = cells(i,3).value
a(j,4) = cells(i,4).value
j = j+1
end if
next i
Цитата:
пытаюсь присвоить значение массива переменной, выдает ошибку вроде object varible. я делаю примерно так s = a(i,2)
если на данном шаге i определена и в массиве есть это значение, то ошибки не должно быть.
Не бывает сложных задач, бывают сложные решения
Xpoft вне форума Ответить с цитированием
Старый 25.01.2010, 17:58   #3
borik120
Пользователь
 
Регистрация: 17.01.2010
Сообщений: 30
По умолчанию

Цитата:
если на данном шаге i определена и в массиве есть это значение, то ошибки не должно быть
а если s -long, т я присвою ей значение обычной ячейки?
borik120 вне форума Ответить с цитированием
Старый 25.01.2010, 18:09   #4
Xpoft
Пользователь
 
Регистрация: 25.11.2009
Сообщений: 55
По умолчанию

Цитата:
а если s -long, т я присвою ей значение обычной ячейки?
смотря что у вас было записано в "обычной ячейке")
Не бывает сложных задач, бывают сложные решения
Xpoft вне форума Ответить с цитированием
Старый 25.01.2010, 18:17   #5
borik120
Пользователь
 
Регистрация: 17.01.2010
Сообщений: 30
По умолчанию

а если в ячейке записано число, но формат ячейки общий, или текстовый?
borik120 вне форума Ответить с цитированием
Старый 25.01.2010, 18:22   #6
Xpoft
Пользователь
 
Регистрация: 25.11.2009
Сообщений: 55
По умолчанию

ну есть функции проверки типа аля isnumeric() и преобразований... CDbl(), Val(). можно использовать их и не париться о том какой тип ячейки, если у вас там записано число. Но это я так думаю, я не спец) лично я пока нет опыта сначала проверяю как будет работать а потом пользую) дебагер вам в помощь
Не бывает сложных задач, бывают сложные решения
Xpoft вне форума Ответить с цитированием
Старый 26.01.2010, 05:36   #7
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

1. Рациональнее сначала сформировать массив из всего диапазона (a=[A1:D20].Value), а уже затем, из этого массива сформировать другой, требуемый.
2. Если тип данных в сформированном массиве не установлен явно (имеет тип Variant), то необходимо делать преобразование типа элемента массива в требуемый. Например:
Код:
j = Val(a(x, y))
If j > 0 Then
    For i = 1 To j
        '...
    Next
End If
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запись элементов в массив kate158 Общие вопросы Delphi 5 17.12.2009 15:16
запись с файла в массив darkmonk Общие вопросы C/C++ 2 29.11.2009 20:21
Запись в массив Java FreshBreeze Общие вопросы по Java, Java SE, Kotlin 1 28.10.2009 19:40
Пустой ли массив ячеек с формулами? motorway Microsoft Office Excel 1 14.07.2009 05:06
запись с массива в массив тормозит? valgusk Общие вопросы Delphi 0 01.05.2008 17:45