![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 10.02.2009
Сообщений: 15
|
![]()
Доброго времени суток! Очень хочется, чтобы на работе компьютер помогал автоматизировать некоторые моменты. Себе поставил следующую задачу. В районе есть территории, принадлежащие разным Жилкомсервисам (ЖКС). Допустим, есть две ячейки в каждой строке:
в первую пишется название улицы, во вторую - номер дома. Хочу сделать макрос, чтобы он проверял содержимое этих ячеек на условия: если название улицы такое-то и при этом номер дома чётный (ну, или нечётный), номер дома больше (ну, или меньше), то в следующую, ТРЕТЬЮ ячейку справа автоматом записывается определённое выражение (например, ЖКС-1 или ЖКС-2). Я понимаю так, что каждый раз должны выполняться проверки с помощью функции If? Например, если это "Проспект Стачек", если номер дома чётный и он больше 92, то это "ЖКС-1". Если условия не выполняются, проверяем следующее условие - если это "Улица Маршала Говорова", номер дома чётный, то... Ну и так далее. В общем, у меня будет огромное количество условий. И мне что, плодить кругом море проверок значений с помощью "If"? Направьте меня на путь истинный. Серьёзно макросописанием не занимался. В голове остались лишь остатки знаний по Basic, который когда-то учили в колледже. Может, убрать кучу проверок с помощью "If" и какой-то массив создать, содержащий перечень названий улиц, ВСЕХ номеров домов на этих улицах и т.д.? |
![]() |
![]() |
![]() |
#2 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,864
|
![]() Код:
E-Mail: arigato.freelance@gmail.com
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 10.02.2009
Сообщений: 15
|
![]()
Я понял вас так. Мне надо создать некий массив данных:
"Стачек", 17, "ЖКС-1" "Стачек", 18, "ЖКС-1" "Стачек", 19, "ЖКС-2" "Стачек", 20, "ЖКС-2" "Говорова", 12, "ЖКС-1" "Говорова", 13, "ЖКС-1" "Говорова", 14, "ЖКС-2" "Говорова", 15, "ЖКС-2" А потом как-то его использовать при проверке значений стобцов: "Улица" и "Номер дома"? Если да, то как? |
![]() |
![]() |
![]() |
#4 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,864
|
![]()
Можете использовать БД, но, мне кажется, Вы это не потяните.
Тогда у нас будет простой текстовый файл. Его нужно читать построчно, каждую строку разбивать на составляющие компоненты (например, разделитель ",") и проводить сравнение. Так, пока не найдём нужную строку в файле. E-Mail: arigato.freelance@gmail.com
|
![]() |
![]() |
![]() |
#5 | |
Пользователь
Регистрация: 10.02.2009
Сообщений: 15
|
![]() Цитата:
Но подключать БД к делу не хочу, так как на своей работе я занимаюсь набивкой данных в Excel, так привычнее. Excel нравится много чем, а на данный момент - автофильтром и условным форматированием. ![]() Я согласен для Excel от руки набрать все возможные комбинации типа: "Стачек", 17, "ЖКС-1". Только как эти данные заставить работать? Чтобы при вводе "Стачек" и номера дома "18" автоматически в СОСЕДНЮЮ ЯЧЕЙКУ справа записывались данные из описанных мною комбинаций? |
|
![]() |
![]() |
![]() |
#6 | |
Форумчанин
Регистрация: 17.10.2008
Сообщений: 239
|
![]() Цитата:
Как заставить записывать в СОСЕДНУЮ ячейку не большая проблема. Если не ХВАТАЕТ условий ЕСЛИ то можно в какой-то области использовать несколько ячеек. Другая проблема которая может повредить всю логику. Если вместо "Стачек" ты введешь "Сташек" или "Стачик" и т.д. Не лучше ли в этом случае на отдельном листе сделать перечень улиц, и используя списком выбирать улицу. Это облегчит значительно выбор условий. Другая проблема. Наверняка есть дома пишутся через дробь например Стачек, 17/2 Как в этом случае определять к какому ЖСК они относятся |
|
![]() |
![]() |
![]() |
#7 | |
Пользователь
Регистрация: 10.02.2009
Сообщений: 15
|
![]() Цитата:
- Улицу из списка выбирать для меня сложнее - надо больше телодвижений делать. Достаточно набрать "Ста" и нажать Tab, чтобы перейти к вводу в соседнюю ячейку. - "Не хватает условий" - это я говорил про условное форматирование, чтобы ячейка окрашивалась в заданный цвет в зависимости от значения. Но это так, мелочи. В данном случае речь идёт не об условном форматировании, а о создании макроса, который должен проверить две ячейки (улица, номер дома) на соответствие множеству условий (улиц много, номеров домов тоже много, кроме того, есть чётные и нечётные номера домов). - Насчёт номера дома через дробь, я откажусь, например, от написания "7/2" и буду оставлять только "7". Это допустимо. |
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Операторы в Delphi | neomaximus | Помощь студентам | 1 | 17.12.2008 20:55 |
Операторы прерывания | Иринкаа | Общие вопросы Delphi | 13 | 27.11.2007 21:52 |