Форум программистов, компьютерный форум, киберфорум
Наши страницы
VBA
Войти
Регистрация
Восстановить пароль
 
MapMyxa
0 / 0 / 0
Регистрация: 17.09.2009
Сообщений: 5
#1

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

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

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

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

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

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

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

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

9
Toxa33rus
3814 / 878 / 120
Регистрация: 16.04.2009
Сообщений: 1,766
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
3814 / 878 / 120
Регистрация: 16.04.2009
Сообщений: 1,766
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
3814 / 878 / 120
Регистрация: 16.04.2009
Сообщений: 1,766
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
3814 / 878 / 120
Регистрация: 16.04.2009
Сообщений: 1,766
22.09.2009, 20:49 #8
Цитата Сообщение от MapMyxa Посмотреть сообщение
Так понятно?
Так да. А то путаете народ: закидали все файлы в одну папку хотя это делать нельзя.

Начинаю делать... Не кантовать.
0
Toxa33rus
3814 / 878 / 120
Регистрация: 16.04.2009
Сообщений: 1,766
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
Привет! Вот еще темы с решениями:

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

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

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

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


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

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

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