Форум программистов, компьютерный форум, киберфорум
Наши страницы

VBA

Войти
Регистрация
Восстановить пароль
 
MapMyxa
0 / 0 / 0
Регистрация: 17.09.2009
Сообщений: 5
#1

Сложный вопрос по сравнениям и сводам - VBA

17.09.2009, 20:10. Просмотров 802. Ответов 9
Метки нет (Все метки)

Итак нужна помощь. Предположим что есть у нас папка с файлами и файл свода. Я запускаю Книга1.xls и жму первый шаг. Указываю папку с файлами проверок (в данном примере это файл Бедрикова-1 Зеньково.xls). Таких файлов в указанной мной папке может быть до 50 штук. И все у меня нормально работает. В файле Книга1 у меня появляются записи с именами файлов в указанной мной папке.
Дальше я запуская Шаг2-Сравнить. Указываю файл с которым нужно сравнить - это aaa.xls Таким образом программа должна сравнить те файлы, имена которых указаны в Книга1.xls и отметить в них различия.. сравнение идет только по определенным строкам.. и вот тут то и возникает ошибка ран-тайм ерор 9.. вопрос что делать?
Я конечно не понятно все наверное написал. Гляньте вложения. Запустите Все три файла, Дальше в Книга1.xls запустите первый шаг, а потом второй шаг "Сравнить"..
0
Вложения
Тип файла: rar Прога.rar (406.0 Кб, 36 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.09.2009, 20:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сложный вопрос по сравнениям и сводам (VBA):

Сложный вопрос по созданию макроса - VBA
у меня есть табл. в excel, есть макрос: For rwIndex = 8 To 17 For colIndex = 11 To 11 With Worksheets('Лист1').Cells(rwIndex,...

Сложный вопрос о BIOS - BIOS
Нужно было отформатировать жёсткий диск стационарного компьютера.Сделал всё с помощью Acronis Disk Director.Всё отформатировалось и...

Access: сложный вопрос - MS Access
Раз уж здесь есть активность, что очень приятно, я воспользуюсь возможностью задать вопрос, на который давно не могу найти ответ. ...

Не сложный вопрос по Delphi - Delphi
Сама программа сделана и функционирует. Но есть один нюанс, надо ограничить количество нажатий определенных кнопок, как это сделать не...

Сложный вопрос по UserControl-ам - Visual Basic
Есть такая чудесная библиотека - TLBINF32.DLL, с помощью которой можно получить список всех свойств заданного элемента управления....

Сложный вопрос по звуковой части компьютера. - Ноутбуки
Здравствуйте. Незнаю правильно ли я опишу проблему, но она уже длиться около 2-ух лет. Итак попробую объяснить. Был куплен ноутбук Acer...

9
Toxa33rus
3813 / 877 / 87
Регистрация: 16.04.2009
Сообщений: 1,758
17.09.2009, 22:49 #2
Ошибка вылезает в процедуре Proverka() в строке Worksheets("Классификатор").Select
Не хочет он делать активным другой файл. Я всегда делаю через объекты (каждый файл как отдельный объект).
0
MapMyxa
0 / 0 / 0
Регистрация: 17.09.2009
Сообщений: 5
18.09.2009, 06:19  [ТС] #3
Я чрезмерно туп в ВБА ибо не так давно стал с ним разбираться. Тоха, можете более подробно объяснить как его как объект сделать?
0
Toxa33rus
3813 / 877 / 87
Регистрация: 16.04.2009
Сообщений: 1,758
21.09.2009, 22:48 #4
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
WorkPath = Application.ActiveWorkbook.Path
ResultBook = Application.ActiveWorkbook.FullName
 
Set FSO = CreateObject("Scripting.FileSystemObject")
Set FSOWorkPath = FSO.GetFolder(WorkPath)
Set FSOFiles = FSOWorkPath.Files
For Each AFile In FSOFiles 'по всем файлам
  If UCase(FSO.GetExtensionName(AFile.Path)) = "XLS" Then 'по всем эксель файлам
    If FSO.GetFile(AFile.Path) <> ResultBook Then 'кроме файла с результатом
 
Application.Workbooks.Open (AFile.Path) 'открываем каждый файл и мучаем его
Set CurrentXls = Application.ActiveWorkbook
'дальше делаем что хотим используя ссылку на файл
 
    End if
  End if
Next

Не по теме:

Если завтра на работе будет время - попробую сделать как-нибудь, а сейчас всем спать!

1
Toxa33rus
3813 / 877 / 87
Регистрация: 16.04.2009
Сообщений: 1,758
22.09.2009, 09:51 #5
Цитата Сообщение от MapMyxa Посмотреть сообщение
Я чрезмерно туп в ВБА ибо не так давно стал с ним разбираться
У меня у самого только желтый пояс по VBA. Тонкостей не знаю но думаю что форма (окошко с кнопками) не дает переключаться между книгами.

Объясните что вообще макрос делать должен, а то код подозрительный какой-то: берет базовый файл и сравнивает с ним его же(!), потом другой файл (тут более менее логично), а потом пустой файл (из которого происходит запуск макроса).
0
MapMyxa
0 / 0 / 0
Регистрация: 17.09.2009
Сообщений: 5
22.09.2009, 12:03  [ТС] #6
Рабочий день закончится, приеду домой и подробно объясню, а то с телефона не удобно писать.. но макрос сравнивает не одинаковые файлы..) вообщем расскажу подробно после работы..) попробую сейчас с вашим кодом поразбираться. Спасибо
0
MapMyxa
0 / 0 / 0
Регистрация: 17.09.2009
Сообщений: 5
22.09.2009, 19:49  [ТС] #7
Книга1.xls - просто файл, в котором есть макрос. Лежит данный файл где нибудь.

В общем есть папка. В Этой папке куча файлов типа - Бедрикова 1 Зеньково.хls Это файлы проверок по предприятиям. Они называются все по разному но они там. В них что-нибудь да заполнено. Нас интересует страница Классификатор. При нажатии на кнопку первого шага в Книгу 1 записываются имена данных файлов проверок. В другой папке есть файл aaa.xls - это шаблон. Сначала мы проверяем все файлы проверок на соответствие этому шаблону по строкам примечаний. После этого этого формируется свод из файлов проверок.. но это уже дело десятое ибо на данный момент вылазиет ошибка на этапе проверки соответсвия шаблону..

Так понятно? Вот вообщем и прошу тут помощи.. потому что никто ничего мне уже не может подсказать...(
0
Toxa33rus
3813 / 877 / 87
Регистрация: 16.04.2009
Сообщений: 1,758
22.09.2009, 20:49 #8
Цитата Сообщение от MapMyxa Посмотреть сообщение
Так понятно?
Так да. А то путаете народ: закидали все файлы в одну папку хотя это делать нельзя.

Начинаю делать... Не кантовать.
0
Toxa33rus
3813 / 877 / 87
Регистрация: 16.04.2009
Сообщений: 1,758
22.09.2009, 22:51 #9
Вот как-то так:
0
Вложения
Тип файла: xls Книга1.xls (44.5 Кб, 33 просмотров)
MapMyxa
0 / 0 / 0
Регистрация: 17.09.2009
Сообщений: 5
24.09.2009, 22:06  [ТС] #10
Спасибо.. надеюсь разберусь.. если что - напишу)
0
24.09.2009, 22:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.09.2009, 22:06
Привет! Вот еще темы с ответами:

Не сложный вопрос про форму и запрос - MS Access
Граждане, нужна ваша помощь !!! Есть у меня форма на которой располагаются 2 поля со списками - один позволяет выбрать 20 значный...

Сокеты, сложный вопрос, надеюсь только для меня - Java SE
Всем привет. Подскажите пожалуйста. Есть ServerSocket. Можно ли чтобы всё что в него приходит отсылать в Socket, который используется...

сложный запрос (для меня сложный) - MS Access
Есть таблица с продажами услуг от разных фирм, есть таблица с оплатой за предоставленные услуги (при этом сумма оплат может не совпадать с...

Вопрос по SetParent (поэтому, наверное, это вопрос к NickStaves) - Visual Basic
Есть набор форм, назовём их 'интерфейсными'. Есть отдельная форма, назовём её 'хранилищем'. Сама по себе она нигде не используется: лишь...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru