|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.01.2015, 18:35 | #1 |
Новичок
Джуниор
Регистрация: 12.01.2015
Сообщений: 6
|
Макрос изменения свойств подключения
Доброго времени суток, уважаемые спецы!
Помогите человеку, не имеющего опыта на VBA.... Есть таблица, в которую подцепляются данные (4 столбца) из xml, периодически выгружаются новые xml файлы, и выполняется перерасчет свода. Вопрос номер один собственно состоит в том, как макросом изменять путь к файлу в "Свойствах подключения", тот, что на вкладке "Определение". Удалять подключение и создавать новое не катит... Рекордер макросов записывает только: With ActiveWorkbook.Connections("Внешние Данные") .Name = "ВнешниеДанные" .Description = "" End With ActiveWorkbook.Connections("Внешние Данные").Refresh Я так понимаю тут должно быть что то вроде: Workbooks("Готовый отчет.xlsm").Connections.AddFromFil e _ "C:\Users\BarkovN\Desktop\Data 30.12.xml" А второй вопрос заключается в том, что из xml подтягиваются данные с "лишними строками", которые я удаляю перебором: Sheets("Исходные данные").Select LastRow = Sheets("Исходные данные").UsedRange.Row - 1 + Sheets("Исходные данные").UsedRange.Rows.Count For r = LastRow To 2 Step -1 If Cells(r, 4) <= 0 Or Cells(r, 2) = "" Then Rows(r).Delete В таблице свыше 35 тыс строк (в итоге проц загружен на 50% на 30-40 минут), и что-то мне подсказывает, что есть более оптимальные (жизнеспособные) варианты очистки "лишних строк" (знаю что вопрос заезжен, но работоспособного не нашел) Помогите, добрые люди! |
12.01.2015, 22:57 | #2 | ||
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
Цитата:
возьмите за основу этот макрос: http://ExcelVBA.ru/code/ConditionalRowsDeleting и строки удалятся за несколько секунд. ------------------------- Цитата:
Код:
Список свойств открывается нажатием F2. В поиске там вводим Connection - и смотрим, что у него можно поменять.
__Полезные надстройки для Excel. Парсинг сайтов и файлов.
Макросы любой сложности на заказ. Мониторинг цен конкурентов Последний раз редактировалось EducatedFool; 12.01.2015 в 23:02. |
||
13.01.2015, 09:34 | #3 | ||
Новичок
Джуниор
Регистрация: 12.01.2015
Сообщений: 6
|
Цитата:
"Метод Delete из класса Range завершен неверно" Возможно это связано с форматом таблицы, т.к. подтягиваясь из xml применяется автофильтр, но даже если его убрать картина таже. возможно я что то не так делаю в условиях: Код:
Цитата:
Последний раз редактировалось Barkovnick; 13.01.2015 в 09:37. |
||
13.01.2015, 10:52 | #4 |
Новичок
Джуниор
Регистрация: 12.01.2015
Сообщений: 6
|
Если пытаюсь удалить строку сразу
Код:
|
13.01.2015, 13:33 | #5 |
Форумчанин
Регистрация: 27.10.2014
Сообщений: 248
|
Попробуйте настроить под себя такую конструкцию
With Worksheets("CheckList") For iRow& = 260 To 1 Step -1 If Cells(iRow&, "A:A").Value = "" Then .Rows(iRow&).Delete Next End With |
13.01.2015, 13:49 | #6 | |
Новичок
Джуниор
Регистрация: 12.01.2015
Сообщений: 6
|
Цитата:
И чем этот метод отличается от того, что я использовал?? Код:
|
|
13.01.2015, 14:15 | #7 |
Форумчанин
Регистрация: 27.10.2014
Сообщений: 248
|
Да, простой перебор строк и удаление пустых строк, если про мой пример.
В цикле можно задать счетчик, мне не был нужен, т.к. использую ровно столько строк В Вашей конструкции смущает строка If ra.Cells(1, 4) <= 0 Or ra.Cells(1, 2) = "" Then Было бы удобнее, если бы выложили файл, если есть возможность |
14.01.2015, 10:04 | #8 | |
Новичок
Джуниор
Регистрация: 12.01.2015
Сообщений: 6
|
Цитата:
Перебор очень медленно работает с массивами более 5000 строк. И главный вопрос все же с тем, как изменить пусть к файлу в свойствах подключения. |
|
14.01.2015, 12:00 | #9 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
Цитата:
Код:
(для просмотра, в редакторе VBA нажмите View - Locals Window в этом окне найдёте X - развернёте плюсиком список свойств, - и увидите, в каком из свойств хранится путь к файлу) |
|
14.01.2015, 16:07 | #10 | |
Новичок
Джуниор
Регистрация: 12.01.2015
Сообщений: 6
|
Цитата:
http://pixs.ru/showimage/SnimokPNG_1833993_15580548.png Печаль в общем |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Изменения свойств у папки | Волшебник | Windows | 0 | 27.02.2014 17:07 |
Макрос для изменения вида таблицы | sersh1 | Microsoft Office Excel | 3 | 26.09.2011 12:23 |
Макрос для изменения цвета заливки | rootking | Microsoft Office Excel | 6 | 11.01.2011 10:38 |
Макрос для изменения записей | trattaturen | Microsoft Office Access | 4 | 02.10.2010 13:22 |
макрос для изменения содержимого ячейки | Cawa1990 | Microsoft Office Excel | 6 | 24.03.2010 18:19 |