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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.09.2010, 23:37   #1
Makintosh_87
Новичок
Джуниор
 
Регистрация: 10.09.2010
Сообщений: 1
По умолчанию Сравнение нескольких ячеек с одной

Здравствуйте. Помогите пожалуйста составить свою функцию для Excel с помощью VBA. Задача такая: Нужно содержимое каждой из 20 ячеек(эти ячейки находятся в разных частях листа) сравнить с содержимым главной ячейки. И в зависимости от того, с какой из 20 ячеек совпадёт главная ячейка, выполнить определённое действие.

Можно было бы объявить в функции 20 переменных и главную ячейку. И потом просто написать 20 конструкций if...Then. А в самом листе просто присвоить нужные ячейки этим 20 переменным. Но получится слишком громоздко. Посоветуйте что нибудь попроще.

Заранее спасибо!
Makintosh_87 вне форума Ответить с цитированием
Старый 11.09.2010, 00:49   #2
vikttur
Участник клуба
 
Регистрация: 16.05.2010
Сообщений: 1,249
По умолчанию

Проще - если в расположении ячеек есть какая-нибудь логика, последовательность...
vikttur вне форума Ответить с цитированием
Старый 11.09.2010, 02:00   #3
Aent
Форумчанин
 
Аватар для Aent
 
Регистрация: 17.07.2009
Сообщений: 519
По умолчанию

Пример для 4-х несмежных ячеек. "Главная" A1.
Код:
Public Sub test()
   Dim ur As Range
   Dim r As Variant
   Dim i As Long
   Set ur = Application.Union([B1], [C2], [D3], [D7])
   i = 1
   For Each r In ur
       If [A1] = r Then
           Exit For
       Else
           i = i + 1
       End If
   Next r
   If i > ur.Cells.Count Then
      Debug.Print "Нет совпадений"
   Else
       Select Case i
           Case 1
               Debug.Print "совпадение в 1-й ячейке"
           Case 2
               Debug.Print "совпадение во 2-й ячейке"
           Case 3
               Debug.Print "совпадение в 3-й ячейке"
           Case 4
               Debug.Print "совпадение в 4-й ячейке"
       End Select
   End If
End Sub

Последний раз редактировалось Aent; 11.09.2010 в 02:04.
Aent вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сравнение ячеек Михаил2261 Microsoft Office Excel 1 06.07.2010 19:29
Сравнение ячеек xxxxx0111 Microsoft Office Excel 4 12.02.2010 17:29
сравнение ячеек emc2 Microsoft Office Excel 6 18.10.2008 21:08
Фиксирование нескольких ячеек lusui HTML и CSS 4 22.01.2008 17:54