Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.07.2011, 12:50   #1
Серёга0629
Форумчанин
 
Регистрация: 21.04.2011
Сообщений: 128
Восклицание Как избежать ошибку 1004?

есть 2 файла, идёт поиск по файлу (Вид 130 131 132 125 аперель),(Вид 130 131 132 125 март), по 2-м листам: В132, и В132, выберается максимальное значение с деопазона А1:А300. и записывается в файл проба.
но если добавить код на заведомо несуществующий файл, то выдаёт ошибку: Run-time 1004/ Application-degined or jbject-defined error

как мне избежать эту ошибку? Спасибо)



Sub PoiskMaksDiapazonDrygaiKniga()
ChDir "C:\Documents and Settings\s.fischenko\Ðàáî÷èé ñòîë\âî 125,130,131,132"
Workbooks.Open Filename:= _
"C:\Documents and Settings\s.fischenko\Ðàáî÷èé ñòîë\âî 125,130,131,132\Âèä 130 131 132 125 àïðåëü.xls"
Sheets("Â132").Activate
'Worksheets("Ëèñò1").Select
ActiveSheet.Range("A1:A300").Select
Selection.Find(Application.Max(Sele ction)).Copy
Workbooks("Ïðîáà.xls").Worksheets(" Ëèñò1").Activate
Sheets("Ëèñò1").Range("A1").PasteSp ecial
Workbooks("Âèä 130 131 132 125 àïðåëü.xls").Sheets("Â131").Activat e
ActiveSheet.Range("A1:A300").Select
Selection.Find(Application.Max(Sele ction)).Copy
Workbooks("Ïðîáà.xls").Worksheets(" Ëèñò1").Activate
Sheets("Ëèñò1").Range("A2").PasteSp ecial
Workbooks("Âèä 130 131 132 125 àïðåëü.xls").Close
Application.CutCopyMode = False ' î÷èùàåò áóôåð îáìåíà
ChDir "C:\Documents and Settings\s.fischenko\Ðàáî÷èé ñòîë\âî 125,130,131,132"
Workbooks.Open Filename:= _
"C:\Documents and Settings\s.fischenko\Ðàáî÷èé ñòîë\âî 125,130,131,132\Âèä 130 131 132 125 ìàðò.xls"
Sheets("Â132").Activate
'Worksheets("Ëèñò1").Select
ActiveSheet.Range("A1:A300").Select
Selection.Find(Application.Max(Sele ction)).Copy
Workbooks("Ïðîáà.xls").Worksheets(" Ëèñò1").Activate
Sheets("Ëèñò1").Range("B1").PasteSp ecial
Workbooks("Âèä 130 131 132 125 ìàðò.xls").Sheets("Â131").Activ ate
ActiveSheet.Range("A1:A300").Select
Selection.Find(Application.Max(Sele ction)).Copy
Workbooks("Ïðîáà.xls").Worksheets(" Ëèñò1").Activate
Sheets("Ëèñò1").Range("B2").PasteSp ecial
Workbooks("Âèä 130 131 132 125 ìàðò.xls").Close
Application.CutCopyMode = False

ChDir "C:\Documents and Settings\s.fischenko\Ðàáî÷èé ñòîë\âî 125,130,131,132"
Workbooks.Open Filename:= _
"C:\Documents and Settings\s.fischenko\Ðàáî÷èé ñòîë\âî 125,130,131,132\Âèä 130 131 132 125.xls"
Sheets("Â132").Activate
'Worksheets("Ëèñò1").Select
ActiveSheet.Range("A1:A300").Select
Selection.Find(Application.Max(Sele ction)).Copy
Workbooks("Ïðîáà.xls").Worksheets(" Ëèñò1").Activate
Sheets("Ëèñò1").Range("C1").PasteSp ecial
Workbooks("Âèä 130 131 132 125.xls").Sheets("Â131").Activate
ActiveSheet.Range("A1:A300").Select
Selection.Find(Application.Max(Sele ction)).Copy
Workbooks("Ïðîáà.xls").Worksheets(" Ëèñò1").Activate
Sheets("Ëèñò1").Range("C2").PasteSp ecial
Workbooks("Âèä 130 131 132 125.xls").Close
Application.CutCopyMode = False
End Sub
Серёга0629 вне форума Ответить с цитированием
Старый 08.07.2011, 13:03   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

не добавлять "код на заведомо несуществующий файл"
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 08.07.2011, 13:42   #3
Серёга0629
Форумчанин
 
Регистрация: 21.04.2011
Сообщений: 128
По умолчанию

мне надо 1 раз написать прогу и всё, мне надо уйти от её обслуживания, месяцев же 12, мне и надо в проге пробить все 12 месяцев, может какой-то цикл проверки файлов(есть они или нет) создать
Серёга0629 вне форума Ответить с цитированием
Старый 08.07.2011, 16:09   #4
Серёга0629
Форумчанин
 
Регистрация: 21.04.2011
Сообщений: 128
По умолчанию

Сделать бы цикл проверки файлов, если он есть, то выполняется действия, если его нет то пропускается действие с его участием.
Серёга0629 вне форума Ответить с цитированием
Старый 08.07.2011, 16:43   #5
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Цитата:
Сообщение от Серёга0629 Посмотреть сообщение
Сделать бы цикл проверки файлов, если он есть, то выполняется действия, если его нет то пропускается действие с его участием.
Так сделайте, кто мешает. Вот Вам ЮДФ для проверки существования файла:

Код:
Function FileExists(FName) As Boolean
' Возвращает ИСТИНА, если файл существует
    FileExists = (Dir(FName) <> "")
End Function
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 08.07.2011, 17:49   #6
Watcher_1
Форумчанин
 
Аватар для Watcher_1
 
Регистрация: 22.06.2011
Сообщений: 325
По умолчанию

Что мешает написать

Код:
On Error Resume Next
%))))
Заказать макрос можно на сайте http://excel4you.ru/
Watcher_1 вне форума Ответить с цитированием
Старый 11.07.2011, 10:03   #7
Серёга0629
Форумчанин
 
Регистрация: 21.04.2011
Сообщений: 128
По умолчанию

Цитата:
Сообщение от Watcher_1 Посмотреть сообщение
Что мешает написать

Код:
On Error Resume Next
%))))

если вставить эту строку, то есть файл или нет, ставятся левые значения, от куда не пойму
Серёга0629 вне форума Ответить с цитированием
Старый 11.07.2011, 10:23   #8
Серёга0629
Форумчанин
 
Регистрация: 21.04.2011
Сообщений: 128
По умолчанию

Цитата:
Сообщение от kuklp Посмотреть сообщение
Так сделайте, кто мешает. Вот Вам ЮДФ для проверки существования файла:

Код:
Function FileExists(FName) As Boolean
' Возвращает ИСТИНА, если файл существует
    FileExists = (Dir(FName) <> "")
End Function


что-то не получается воспользоваться(у меня уровень знаний низкий, что для вас легко, для меня затруднительно)
Серёга0629 вне форума Ответить с цитированием
Старый 11.07.2011, 10:39   #9
Серёга0629
Форумчанин
 
Регистрация: 21.04.2011
Сообщений: 128
По умолчанию

Цитата:
Сообщение от Watcher_1 Посмотреть сообщение
Что мешает написать

Код:
On Error Resume Next
%))))
Прогресс! если файла нет, пишет свои значения(почёмуто он ищет максимум в файле Проба на Листе1 и записывает в ячейки C1 и C2, 2 одинаковых значения), если файл есть, то пишет, то что надо)

Последний раз редактировалось Серёга0629; 11.07.2011 в 11:27.
Серёга0629 вне форума Ответить с цитированием
Старый 11.07.2011, 12:05   #10
Серёга0629
Форумчанин
 
Регистрация: 21.04.2011
Сообщений: 128
По умолчанию

Помогите!!!!!!
..................
ChDir "C:\Documents and Settings\s.fischenko\Ðàáî÷èé ñòîë\âî 125,130,131,132"
Workbooks.Open Filename:= _
"C:\Documents and Settings\s.fischenko\Ðàáî÷èé ñòîë\âî 125,130,131,132\Вид 130 131 132 125 март.xls"
Sheets("Â132").Activate
'Worksheets("Лист1").Select
ActiveSheet.Range("A1:A300").Select
Selection.Find(Application.Max(Sele ction)).Copy
Workbooks("Проба.xls").Worksheets(" Лист1").Activate
Sheets("Лист1").Range("B1").PasteSp ecial
Workbooks("Вид 130 131 132 125 март.xls").Sheets("Â131").Activate
ActiveSheet.Range("A1:A300").Select
Selection.Find(Application.Max(Sele ction)).Copy
Workbooks("Проба.xls").Worksheets(" Лист1").Activate
Sheets("Ëèñò1").Range("B2").PasteSp ecial
Workbooks("Вид 130 131 132 125 март.xls").Close
Application.CutCopyMode = False



ChDir "C:\Documents and Settings\s.fischenko\Ðàáî÷èé ñòîë\âî 125,130,131,132"
On Error Resume Next
Workbooks.Open Filename:= _
"C:\Documents and Settings\s.fischenko\Ðàáî÷èé ñòîë\âî 125,130,131,132\fffffffffffffffffff .xls"
Workbooks("fffffffffffffffffff.xls" ).Sheets("Â132").Range("A1:A300").S electFind(Application.Max(Selection )).Copy
Workbooks("Ïðîáà.xls").Worksheets(" Ëèñò1").Activate
Sheets("Ëèñò1").Range("C1").PasteSp ecial
Workbooks("fffffffffffffffffff.xls" ).Sheets("Â131").Range("A1:A300").S electFind(Application.Max(Selection )).Copy
Workbooks("Ïðîáà.xls").Worksheets(" Ëèñò1").Activate
Sheets("Ëèñò1").Range("C2").PasteSp ecial
Workbooks("fffffffffffffffffff.xls" ).Close
Application.CutCopyMode = False

а если сделать так, то ставится последнее значение из файла Вид 130 131 132 125 март. Буфер обмена почему-то не отчищается, Почему?
Серёга0629 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как избежать подвисания Juffin Общие вопросы Delphi 12 18.05.2011 23:41
Как избежать повтор строк в тексте Federal Помощь студентам 3 19.10.2010 14:38
Как избежать Selection? Мультипликатор Microsoft Office Word 10 21.06.2010 17:15
Бот - как избежать слежки? boris-blade Win Api 9 28.12.2009 09:11
как избежать кэширования в Опере rolling PHP 3 01.12.2009 18:34