Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/как заполнить массив типа string в цикле данными из таблицы? - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » как заполнить массив типа string в цикле данными из таблицы? (Макросы/Sub)
как заполнить массив типа string в цикле данными из таблицы?
khamatullinrv Дата: Вторник, 13.06.2017, 02:57 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Здравствуйте!

Пытаюсь решть такую задачу:
Есть предзаполненный файл, форма КС-2 (во вложении). НАдо сгененрировать много таких файлов (допустим 400), в каждом меняется только поле F15 (название строительного объекта), номер документа в ячейке BA25, дата составления BL25. Файл должен сохранятся под уникальным именем, как в поле F15 (название строительного объекта).
Данные хранаятся в файле Data.xls З адача, сделать на каждый объект( каждый адрес) по отдельному файту с соотвующим полями.

Как я это вижу: для начала надо задать массив названий строительного объекта и массив адресов.

Sub CS()
'массив (-ы) адресов, номеров документов и названий файлов:
Dim FullSiteName (1 to 385) As string
Dim DocNum (1 to 385) As integer

'цикл на количество строительных адресов.
For index = 1 to 385
FullSiteName(index) = КАК ПРИСВОИТЬ ЗНАЧЕНИЕ из каждой следующей ячейки?
DocNum(index) = КАК ПРИСВОИТЬ ЗНАЧЕНИЕ из каждой следующей ячейки?

Next index

End Sub

То естья я думаю заполнить массив алресами и номерами документов, потом вставлять эти значения опять в цикле в ф файл и сохранять его под уникальным именем.

я то то не так делаю? как "загнать" в массив данные из таблицы?

Руслан.
К сообщению приложен файл: -2.xls(52Kb) · Data.xls(58Kb)
 
Ответить
СообщениеЗдравствуйте!

Пытаюсь решть такую задачу:
Есть предзаполненный файл, форма КС-2 (во вложении). НАдо сгененрировать много таких файлов (допустим 400), в каждом меняется только поле F15 (название строительного объекта), номер документа в ячейке BA25, дата составления BL25. Файл должен сохранятся под уникальным именем, как в поле F15 (название строительного объекта).
Данные хранаятся в файле Data.xls З адача, сделать на каждый объект( каждый адрес) по отдельному файту с соотвующим полями.

Как я это вижу: для начала надо задать массив названий строительного объекта и массив адресов.

Sub CS()
'массив (-ы) адресов, номеров документов и названий файлов:
Dim FullSiteName (1 to 385) As string
Dim DocNum (1 to 385) As integer

'цикл на количество строительных адресов.
For index = 1 to 385
FullSiteName(index) = КАК ПРИСВОИТЬ ЗНАЧЕНИЕ из каждой следующей ячейки?
DocNum(index) = КАК ПРИСВОИТЬ ЗНАЧЕНИЕ из каждой следующей ячейки?

Next index

End Sub

То естья я думаю заполнить массив алресами и номерами документов, потом вставлять эти значения опять в цикле в ф файл и сохранять его под уникальным именем.

я то то не так делаю? как "загнать" в массив данные из таблицы?

Руслан.

Автор - khamatullinrv
Дата добавления - 13.06.2017 в 02:57
AndreTM Дата: Вторник, 13.06.2017, 03:58 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1540
Репутация: 444 ±
Замечаний: 0% ±

2003 & 2010
А зачем загружать данные в массив, если можно список обрабатывать и прямо на листе?
Зачем делать несколько массивов? И где там даты? :)

Впрочем...


P.S. И да, читайте Правила - необязательно кросспостить свой вопрос на все сайты-форумы по Excel, особенно на сайты-друзья...


Donate: Qiwi: 9517375010

Сообщение отредактировал AndreTM - Вторник, 13.06.2017, 04:19
 
Ответить
СообщениеА зачем загружать данные в массив, если можно список обрабатывать и прямо на листе?
Зачем делать несколько массивов? И где там даты? :)

Впрочем...


P.S. И да, читайте Правила - необязательно кросспостить свой вопрос на все сайты-форумы по Excel, особенно на сайты-друзья...

Автор - AndreTM
Дата добавления - 13.06.2017 в 03:58
khamatullinrv Дата: Вторник, 13.06.2017, 05:42 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Андрей, спасибо за ответ.

[img][/img]

Почему то останавливается..
а как бы Вы посоветовали сделать? Дату ставим текущую.
Список обрабатывать (менять) не нужно. Т.е. надо "сгенерить" КС-2 по количеству строительных объектов, а список объектов есть в виде списка.

Или я что то не понимаю?

А зачем загружать данные в массив, если можно список обрабатывать и прямо на листе?
Зачем делать несколько массивов? И где там даты? :)

Впрочем...

 
Ответить
СообщениеАндрей, спасибо за ответ.

[img][/img]

Почему то останавливается..
а как бы Вы посоветовали сделать? Дату ставим текущую.
Список обрабатывать (менять) не нужно. Т.е. надо "сгенерить" КС-2 по количеству строительных объектов, а список объектов есть в виде списка.

Или я что то не понимаю?

А зачем загружать данные в массив, если можно список обрабатывать и прямо на листе?
Зачем делать несколько массивов? И где там даты? :)

Впрочем...


Автор - khamatullinrv
Дата добавления - 13.06.2017 в 05:42
AndreTM Дата: Вторник, 13.06.2017, 07:09 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1540
Репутация: 444 ±
Замечаний: 0% ±

2003 & 2010
"Обработать" список - не означает "изменить его". Подразумевается, что нет необходимости записывать список в массив(ы), если у нас и так лист - это массив. Объектов.

"Останавливается"... а с какого перепугу вы процедуру поместили куда-то "далеко-далеко" в надстройку? Где это сказано было?
Там специально для таких деятелей - указано в комментарии, где процедура должна находиться - "В ТЕКУЩЕЙ КНИГЕ СО СПИСКОМ", т.е. в этом вашем файле data.xls


Donate: Qiwi: 9517375010

Сообщение отредактировал AndreTM - Вторник, 13.06.2017, 07:12
 
Ответить
Сообщение"Обработать" список - не означает "изменить его". Подразумевается, что нет необходимости записывать список в массив(ы), если у нас и так лист - это массив. Объектов.

"Останавливается"... а с какого перепугу вы процедуру поместили куда-то "далеко-далеко" в надстройку? Где это сказано было?
Там специально для таких деятелей - указано в комментарии, где процедура должна находиться - "В ТЕКУЩЕЙ КНИГЕ СО СПИСКОМ", т.е. в этом вашем файле data.xls

Автор - AndreTM
Дата добавления - 13.06.2017 в 07:09
Мир MS Excel » Вопросы и решения » Вопросы по VBA » как заполнить массив типа string в цикле данными из таблицы? (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2017 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!