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

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

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

Восстановить пароль

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 30.01.2009, 14:52   #1
Viento
Пользователь
 
Регистрация: 28.12.2008
Сообщений: 53
По умолчанию Подправьте ПЛЗ. Макрос

В данном макросе есть ссылка на ячейку
Код:
Sheets(2).Columns("D").
в которой написана формула например:
Код:
='[присутсвие.xls]1'!A2
.
Вопрос. почему не работает макрос?


Цитата:
Sub время()

Dim i As Long, x As Range

Sheets(1).Activate
For i = 3 To Cells(1, Columns.Count).End(xlToLeft).Column
Set x = Sheets(2).Columns("D").Find(What:=C ells(3, i), LookAt:=xlWhole)
If Not x Is Nothing Then Cells(2, i) = Sheets(2).Cells(x.Row, "C")
Next

End Sub

Спасибо
Viento вне форума
Старый 30.01.2009, 14:59   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

А файл присутсвие.xls существует? Открыт ли он во время выполнения макроса?

Цитата:
почему не работает макрос?
А в чём проявляется неработоспособность макроса?

Он вылетает с ошибкой, или не записываент данные на Sheets(1)?

Когда в последний раз работал макрос?
Что после этого Вы изменяли в файлах?
EducatedFool вне форума
Старый 30.01.2009, 15:40   #3
Viento
Пользователь
 
Регистрация: 28.12.2008
Сообщений: 53
По умолчанию

Файл присутсвие.xls существует. и открыт.

Макрос не выдает ошибки и не вставляет результат на Sheets(1).

макрос начинает работать, если в ячейке куда он ссылается не формула а значение!

До этого макроса не было на выполнение этих действий.
Viento вне форума
Старый 30.01.2009, 15:47   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Попробуйте заменить строку
Set x = Sheets(2).Columns("D").Find(What:=C ells(3, i), LookAt:=xlWhole)

на строку
Set x = Sheets(2).Columns("D").Find(What:=C ells(3, i), LookIn:=xlValues, LookAt:=xlWhole)
EducatedFool вне форума
Старый 30.01.2009, 15:58   #5
Viento
Пользователь
 
Регистрация: 28.12.2008
Сообщений: 53
По умолчанию

Вы гений!

Огромное спасибо!
Viento вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
макрос Demonmov Microsoft Office Excel 19 29.01.2009 16:19
Макрос kot_842003 Microsoft Office Excel 2 26.12.2008 05:24
Таймер на макрос Hant Microsoft Office Excel 3 21.05.2008 20:10
Макрос Мингиян Microsoft Office Access 1 24.01.2008 21:54
Макрос в Word Mictiann Microsoft Office Word 1 12.09.2007 09:35