0 / 0 / 0
Регистрация: 26.05.2020
Сообщений: 4
|
||||||
1 | ||||||
При обработке массива в цикле тянутся все элементы массива26.05.2020, 10:28. Показов 1830. Ответов 9
Метки vba excel макрос (Все метки)
Всем привет!
Я работаю на другом языке программирования, но есть задача, которую нужно выполнить именно в VBA. Есть большой массив данных и в одном поле перечислены города. Необходимо "нарезать" большой файл на мелкие в соответствии с принадлежностью к городу. Я написал код, который успешно это делает......до второго города. Дале замечаю, что при обработке цикла второй элемент включает в себя первый - соответственно поиск далее не осуществляется. В виду ограничений со стороны сб не могу скопировать файл, вот часть кода, в которой выявлена проблема
Здесь я указываю перебор ячеек с названием городов. Пробовал также через Array. Но результат тот же. Помогите, пожалуйста, разобраться
0
|
26.05.2020, 10:28 | |
Ответы с готовыми решениями:
9
Удалить из массива целых чисел все нули. Сформировать два новых массива. В первый переписать все элементы данного массива с четными номерами, во второ Заменить все положительные элементы на наименьший элемент массива, удалив его при этом из массива Сформировать массив L из массивов A и B путем их слияния так, чтобы сначала располагались все элементы массива A, а затем все элементы массива B. Сформировать и вывести на экран новый массив, который будет содержать вначале все элементы массива A(0), затем все элементы массива B(4) |
2724 / 1701 / 776
Регистрация: 23.03.2015
Сообщений: 5,388
|
|
26.05.2020, 10:49 | 2 |
Binwigon,
Привет нужен кусок файла ( с измененными данными, если исходный - секретный). Тип файла Что делить? Тот кусок кода, который вы написали - нм к селу ни к городу.
0
|
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
|
|
26.05.2020, 11:08 | 3 |
Как написали так и выводит. Даже странно... а что должно было быть в итоге в file_name?
0
|
0 / 0 / 0
Регистрация: 26.05.2020
Сообщений: 4
|
|
26.05.2020, 11:13 [ТС] | 4 |
проблема в том, что все файлы на удаленном компьютере. Доступы на форумы перекрыты.
Пришлось перепечатывать. напечатал все как есть, единственное, что A 10 - без пробела. Я открываю excel - alt-F11 и вставляю в макрос
0
|
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
|
|
26.05.2020, 11:17 | 5 |
Навскидку алгоритм я бы строил такой:
- циклом собираем словарь городов, у каждого в итем коллекция его строк - циклом по словарю каждому городу новый файл, циклом по коллекции копируем его строки, сохраняем. Ну или просто словарь или коллекция городов, и в цикле по ним привлекаем фильтр-копирование в новую книгу. Добавлено через 2 минуты - не верю. Такое не может работать в VBA.
0
|
0 / 0 / 0
Регистрация: 26.05.2020
Сообщений: 4
|
|
26.05.2020, 11:18 [ТС] | 6 |
после каждой итерации он должен формировать название файла, куда сохранять.
Для первого города получается C:\project\Воронеж.xlsx Для него все отработала идеально. Строки удалились и файл сохранился. Для второго:C:\project\Воронеж.xlsxC:\project\Москва.xlsx Для третьего: C:\project\Воронеж.xlsxC:\project\Москва.xlsxC:\project\Самара.xlsx
0
|
4134 / 2238 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
|
||||||
26.05.2020, 11:19 | 7 | |||||
Сообщение было отмечено Binwigon как решение
Решение
Binwigon,
1
|
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
|
||||||
26.05.2020, 11:23 | 8 | |||||
Сообщение было отмечено Binwigon как решение
Решение
Так не добавляйте строку к ранее собранному, берите снова исходник. А для этого нужна или другая переменная, или вообще только одна исходная и element
Добавлено через 2 минуты Вот например попаразитрую
1
|
4134 / 2238 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
|
||||||
26.05.2020, 11:30 | 9 | |||||
Пример без паразитизма Если нет Option Explicit, то можно и без Dim el
0
|
0 / 0 / 0
Регистрация: 26.05.2020
Сообщений: 4
|
|
26.05.2020, 11:35 [ТС] | 10 |
Спасибо Большое!
Работает как надо! Добавлено через 2 минуты Спасибо за помощь!!!
0
|
26.05.2020, 11:35 | |