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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.03.2009, 01:02   #1
Renzo
Новичок
Джуниор
 
Регистрация: 07.03.2009
Сообщений: 1
По умолчанию Автоматический поиск ячейки по заданным параметрам

Здравствуйте. Я у вас в первый раз, в програмировании не разбираюсь и заранее прошу прощения, если некорректно сформулирую стоящую передо мной задачу.

Как объяснить Excel, что ему нужно на листе X в столбце A отыскать надпись ОАО «Пупкин», взять число из ячейки, находящейся справа от ячейки с этой надписью, а затем вставить это число в ячейку Z1 на листе Y? Можно решить эту задачу не прибегая к программированию? Если да, то как?
Renzo вне форума Ответить с цитированием
Старый 07.03.2009, 01:07   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

читайте функцию ВПР
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 07.03.2009, 01:13   #3
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Например, так:
Код:
Sub test()
    ТекстДляПоиска = "ОАО «Пупкин»"
    Set x = Worksheets("ИмяЛистаX").Columns("A").Find(ТекстДляПоиска)
    If Not x Is Nothing Then Worksheets("ИмяЛистаY").[z1] = x.Next
End Sub
Или так:
Код:
Sub test2()
    On Error Resume Next
    Worksheets("ИмяЛистаY").[z1] = Worksheets("ИмяЛистаX").Columns("A").Find("ОАО «Пупкин»").Next
End Sub
Цитата:
Можно решить эту задачу не прибегая к программированию?
Можно. Делаете всё вышеперечисленное вручную
Также можно вставить в ячейку z1 листа ИмяЛистаY формулу...
EducatedFool вне форума Ответить с цитированием
Старый 07.03.2009, 15:29   #4
Pavel55
Форумчанин
 
Регистрация: 21.08.2007
Сообщений: 292
По умолчанию

Да. наверное, ВПР подойдёт, но сейчас не об этом ))

EducatedFool, я просто поражаюсь твоими способностями программирования )) молодец! Тебе только не хватает приучиться всегда объявлять переменные, а так просто супер! ) Мне всегда очень интересно изучать твой код)) Давно хотел тебе сказать об этом, но всё никак не получалось ). Как говориться "Дай задание 10 программистам и ты получишь 10 разных способов решений одного и того же задания") У тебя, наверное, будет самый компактный код )
Pavel55 вне форума Ответить с цитированием
Старый 07.03.2009, 16:32   #5
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию 2 Pavel55

Спасибо

Цитата:
Сообщение от Pavel55 Посмотреть сообщение
Тебе только не хватает приучиться всегда объявлять переменные
А зачем? В большинстве случаев людям нужны простейшие макросы, и я легко удерживаю в памяти типы всех переменных.
К тому же в VBA отлично работает преобразование типов.
На современных компьютерах в простейших задачах увеличения скорости работы макроса за счёт объявления переменных просто не заметить (ну, в самом деле, какая разница - код выполнится за 0,01 с. или за 0,015 с.)

Входные и выходные параметры функций я всегда объявляю, а остальное уже мелочи. Главное - обработка ошибок (вот без этого, конечно, никак)
Ну а если заказчик начнёт самостоятельно модифицировать код, и запутается в типах переменных - так это его проблема...

Понимаю, что объявление переменных - неотъемлемая черта хорошего стиля программирования, но... зачем тратить время на то, с чем среда разработки сама разберётся.
В сложных проектах у меня гораздо больше объявленных переменных.
Ну и главное - это же лишние строчки кода
EducatedFool вне форума Ответить с цитированием
Старый 07.03.2009, 17:48   #6
Pavel55
Форумчанин
 
Регистрация: 21.08.2007
Сообщений: 292
По умолчанию

) ну, может ты и прав )
Pavel55 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Эллипс по параметрам rzrwolf Microsoft Office Excel 6 21.12.2008 01:47
Условное форматирование по параметрам snakezx Microsoft Office Excel 2 13.11.2008 16:46
Button1 - автоматический поиск модема и набор номера beegl Общие вопросы Delphi 5 01.06.2008 14:08
Как разделить число и текст в одной ячейки на две ячейки. neboskreb Microsoft Office Excel 2 15.04.2008 19:39
поиск строки и ячейки Lacky Microsoft Office Excel 11 27.11.2007 10:56