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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.11.2010, 17:22   #11
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Cells(i,3).FormulaLocal = "=ВПР(A" & i & ",'C:\...
1. потеряли разделитель между 1 и 2 параметром ВПР
2. Name_Pic определено перед этим присваиванием?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 12.11.2010, 08:49   #12
Questru
Почемучка-новичок
Пользователь
 
Регистрация: 08.10.2010
Сообщений: 67
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
Cells(i,3).FormulaLocal = "=ВПР(A" & i & ",'C:\...
1. потеряли разделитель между 1 и 2 параметром ВПР
2. Name_Pic определено перед этим присваиванием?
Большое Спасибо помогло!
Принял к сведению Ваши замечания. Ставлю + в карму =)
Questru вне форума Ответить с цитированием
Старый 12.11.2010, 10:36   #13
Questru
Почемучка-новичок
Пользователь
 
Регистрация: 08.10.2010
Сообщений: 67
По умолчанию

Так более менее разобрался. Получился рабочий макрос.

Все делает как задумано.


Хотелось бы его апгрейдить:
1.Можно ли убыстрить его работу?
А то, пока он забивает все ячейки, проходит довольно много времени.
2. Данную операцию необходимо проделать с двумя вкладками "improvements list" и "results"
Как заставить макрос работать на этих двух листах, а не только на выбранном?

Последний раз редактировалось Questru; 12.11.2010 в 11:17.
Questru вне форума Ответить с цитированием
Старый 12.11.2010, 11:22   #14
Questru
Почемучка-новичок
Пользователь
 
Регистрация: 08.10.2010
Сообщений: 67
По умолчанию

Попробовал сделать так - не получилось - вылезает ошибка 9


Последний раз редактировалось Questru; 12.11.2010 в 11:24.
Questru вне форума Ответить с цитированием
Старый 12.11.2010, 12:32   #15
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

в трех местах перед Cells поставьте точку .Cells
и убедитесь что LastRow, LastCol на нужном листе определяют эти самые последние строки и колонки.
может LastRow следует заменить на
.cells(5,4).end(xldown).row
a LastCol na
.cells(i,5).end(xltoright).column
и ошибка 9 в какой строке появляется?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 12.11.2010, 13:07   #16
Questru
Почемучка-новичок
Пользователь
 
Регистрация: 08.10.2010
Сообщений: 67
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
в трех местах перед Cells поставьте точку .Cells
и убедитесь что LastRow, LastCol на нужном листе определяют эти самые последние строки и колонки.
может LastRow следует заменить на
.cells(5,4).end(xldown).row
a LastCol na
.cells(i,5).end(xltoright).column
и ошибка 9 в какой строке появляется?
Сори что сразу не написал, просто уже нашел решение проблемы
Осталось дело только за оптимизацией. Как можно ускорить его работу, чтобы эксэль не подвисал минут на 7-10...?

Вот итоговый макрос

Последний раз редактировалось Questru; 12.11.2010 в 13:48.
Questru вне форума Ответить с цитированием
Старый 12.11.2010, 13:47   #17
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

сначала выполнить:
Код:
Sub ExlDead() 'Эксель замерз
  Application.EnableEvents = False
  Application.Calculation = xlCalculationManual
  Application.ScreenUpdating = False
End Sub
в конце это
Код:
Sub ExlLive() 'Эксель ожил
  Application.EnableEvents = True
  Application.Calculation = xlCalculationAutomatic
  Application.ScreenUpdating = True
End Sub
процедуры скопируйте себе в код отдельно, добавите в своем коде две строки: где-то в начале ExlDead, где-то в конце ExlLive
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 12.11.2010, 14:09   #18
Questru
Почемучка-новичок
Пользователь
 
Регистрация: 08.10.2010
Сообщений: 67
По умолчанию

СПАСИБО ВАМ БОЛЬШОЕ!
Questru вне форума Ответить с цитированием
Старый 08.12.2010, 10:32   #19
Шарипов Р.И.
Новичок
Джуниор
 
Регистрация: 08.12.2010
Сообщений: 1
По умолчанию

У меня предложение: сделать многопользовательский доступ к одному файлу пусть изменяют, и изменения будут происходит и наглядно будет....или Я чего не правильно понял
Шарипов Р.И. вне форума Ответить с цитированием
Старый 08.12.2010, 10:40   #20
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Шарипов Р.И.
это к чему и о чем?
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
random в имени файла Mihanches Общие вопросы Delphi 3 23.10.2010 10:20
Выбор айтема в Listbox1 по имени Mihanches Общие вопросы Delphi 1 12.10.2010 13:18
Выбор списка в листбоксе в зависимости от выбора в Комбоксе Артур Иваныч Microsoft Office Excel 7 13.11.2009 16:52
Переместить файлы по папкам, в зависимости от имени файла Paul Hindenburg Общие вопросы Delphi 1 07.07.2009 09:50
Копирование имени файла greengeneral Общие вопросы Delphi 3 10.09.2007 14:11