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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.02.2012, 13:04   #21
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Кстати (если не заметили), можно "обмануть" проверку ввода (как в примере выше) - поставить критерием именованный диапазон из всего столбца (ну или из данных с наличием пустых ячеек).
Тогда и выбор будет, и вводить можно что угодно.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 06.02.2012, 13:07   #22
slone2179
Форумчанин
 
Аватар для slone2179
 
Регистрация: 22.04.2011
Сообщений: 155
По умолчанию

Уважаемый, Hugo 121! Можно для жирафов по-подробнее в какой строчке?
slone2179 вне форума Ответить с цитированием
Старый 06.02.2012, 13:11   #23
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Ну Вы ведь можете писать своё в любой момент что угодно беспрепятсвенно - G ведь не обрабатывается кодом.

По поводу "нужно постоянно формулу копировать вниз" - я предлагал заранее заготовить шаблон с уже забитыми формулами.
Формулы возвращают 3 варианта - пусто, цену или "нет данных".
Там, где "нет данных" - забиваете поверх свою цену.
Файл сохраняете под своим именем.
Для нового ордера снова берёте чистый шаблон, снова сохраняете под своим именем.
Только нужно не забыть заполненное сохранить как значения (убить формулы) - иначе при изменении цены поменяются цены и в старых одерах.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 06.02.2012, 13:14   #24
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

для жирафов
Вместо =INDIRECT("Лист5!$E$1:$E$11906") пишите например =datas
Ну а имя datas =Лист5!$E1:$E11907
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 06.02.2012, 13:20   #25
slone2179
Форумчанин
 
Аватар для slone2179
 
Регистрация: 22.04.2011
Сообщений: 155
По умолчанию

Нет, пользователи не смогут Копировать и вставлять значения. Уж очень они ленивые. Поэтому сделал на весь столбец. G тоже обрабатывается, если я во втором файле не вобью цену, то мне выдаст ошибку т.к. G из первого файла берет данные из E во втором. Ну ладно, надоел наверное уже. Буду думать сам, советом помогли, большое спасибо, Hugo121 за помощь и терпение.
slone2179 вне форума Ответить с цитированием
Старый 06.02.2012, 13:40   #26
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Я похожее делал на словаре, а пары название-цена хранил в текстовом файле, т.к. он быстрее открывается.
Там правда циклом проходил по большому диапазону и всем найденным проставлял цену, но принцип такой:
1. в начале кода (ну или при открытии файла, если словарь сделать публичным) из текстового файла считываем данные в словарь
2. в цикле по диапазону (вернее по массиву из диапазона, но не суть) из словаря раскидываем цены найденным "словам"

Быстро.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 06.02.2012, 14:03   #27
slone2179
Форумчанин
 
Аватар для slone2179
 
Регистрация: 22.04.2011
Сообщений: 155
По умолчанию

Hugo 121, можете мне посоветовать в моей ситуации. Набираешь в ячейке новые данные и без ошибок можно дальше продолжать вводить. Есть ли какая-нибудь функция или просто пустоту берет со второго файла и все конец, я буду счастлив.
slone2179 вне форума Ответить с цитированием
Старый 06.02.2012, 14:10   #28
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Не понял последнюю фразу.
Если скорректировать "проверку ввода" как я выше говорил - то так и будет.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 06.02.2012, 14:25   #29
slone2179
Форумчанин
 
Аватар для slone2179
 
Регистрация: 22.04.2011
Сообщений: 155
По умолчанию

Ну типа такого, только вместо "" незнаю что поставить
If Not myF ThisWorkbook.Sheets(1).Range("G" & myR) = "" Then
ThisWorkbook.Sheets(1).Range("G" & myR) = Sh.Range("E" & myF.Row)
Workbooks("2.xls").Close
slone2179 вне форума Ответить с цитированием
Старый 06.02.2012, 14:38   #30
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Что-то Вы совсем не туда поехали...
Вот это
If Not myF ThisWorkbook.Sheets(1).Range("G" & myR) = "" Then
вообще всё мимо.
У Вас ведь уже сть проверка нашлось/не_нашлось:
If Not myF Is Nothing Then

Т.е. если нашлось, то подставляется значение.
Можете добавить, что делать, если не нашлось.
А ошибку даёт "проверка ввода" - я уже раз 5 вероятно об этом говорил...
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа в Delphi с Excel файлами! Leximus Общие вопросы Delphi 5 02.10.2010 11:37
связи между файлами excel redfield Microsoft Office Excel 0 04.05.2010 16:22
Резервное копирование папки с файлами xls (Excel 2003) vfv Microsoft Office Excel 11 12.03.2010 17:05
Работа с файлами из Excel axell_pnz Microsoft Office Excel 4 16.11.2009 11:10
работа с excel файлами через Delphi Winss Помощь студентам 6 08.09.2007 17:54