Как правильно задать условие?

Программирование на Visual Basic for Applications
Deja-vu
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 55
Зарегистрирован: 02.11.2004 (Вт) 22:02

Как правильно задать условие?

Сообщение Deja-vu » 05.10.2005 (Ср) 23:57

Здравствуйте!
Помогите советом, пожалуйста, в данном деле.

Есть Excel, в шести столбцах записаны разные данные по ячейкам... Я хочу выбрать столбцы (для этого, допустим, в какой-то ячейке написать к примеру, ACD либо BE, зависит от того, сколько и какие столбцы я хочу выбрать, вариантов же много) и задать поиск одинаковых значений вплоть до строки 1000. Причем, значения будут состоять (в случае BE, например) из:
Строка 1: Ячейка B1+ Ячейка E1
Строка 2: Ячейка B2+ Ячейка E2....
и так далее.

В чем я торможу (в силу того, что я простой любитель), так это в том, что не понимаю, как реализовать, чтобы сравнивались строки только в тех столбцах, которые выберу я, а не в жестко заданных...?
Сравнить, допустим ячейки в A1 + С1 на предмет их соответствия A2 + С2 я могу, но только задав конкретно столбцы в самом коде... а как сделать, чтобы сравнивать ячейки именно в тех столбцах, которые я выберу? :oops: :roll:

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 06.10.2005 (Чт) 0:02

А каким образом ты их выбираешь?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Deja-vu
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 55
Зарегистрирован: 02.11.2004 (Вт) 22:02

Сообщение Deja-vu » 08.10.2005 (Сб) 18:13

GSerg
Привет! Да мне подойдет и самый простой способ... Например, в какой нибудь ячейке (допустим, R10) напишу буквы, соответствующие столбцам, вот так: ACE (буквы трех столбцов, по которым я хочу искать).

lord0n
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 845
Зарегистрирован: 30.06.2005 (Чт) 9:55
Откуда: Moskow

Сообщение lord0n » 10.10.2005 (Пн) 7:38

через мид отделяй буквы и делый что нужно
еще можно через сплит - надежнее (но каждый столбик придется отделять пробелом(или еще чем нить): 'A B C')
Теория - это когда что-то не работает и известно почему.
Практика - это когда что-то работает, но неизвестно почему.
Нам удалось совместить теорию с практикой, теперь ничего не работает и неизвестно почему.

Deja-vu
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 55
Зарегистрирован: 02.11.2004 (Вт) 22:02

Сообщение Deja-vu » 10.10.2005 (Пн) 22:18

lord0n
Спасибо за совет!
А как мне саму проверку сделать?
Ведь я могу выбрать 2 столбца для проверки, а могу и 10 столбцов.
Проверка же выглядит так:
Если A1 + B1 + C1 = A2 + B2 + C2
Я заранее не знаю, сколько столбцов выберу...

Сравнить жестко заданное количество столбцов я могу, допустим три столбца, а если мне надо сравнить четыре, а потом только два? :shock:

ПС: я дико извиняюсь... возник попутный вопрос. А как обратиться к ячейке по ее букве? Обычно я обращаюсь так: Cells(5, 3) но нужно вместо цифры 3 обратиться к "С"...

Avtopic
Постоялец
Постоялец
 
Сообщения: 442
Зарегистрирован: 30.09.2005 (Пт) 17:15
Откуда: Tbilisi

Сообщение Avtopic » 11.10.2005 (Вт) 8:37

1. Что-то типа этого:

Dim A1, A2

For i = 1 To 10 ‘или сколько надо
If Cells(1, i) = “выбрано для проверки” Then A1 = A1 + Cells(1, i)
Next i

For i = 1 To 10
If Cells(1, i) = “выбрано для проверки” Then A2 = A2 + Cells(1, i)
Next i

If A1 = A2 Then …

2. Если обязательно буквы использовать, то может поможет конструкция типа этого:

Dim s
s = Chr(67)
Range(s & "5") =...

только, уверен это не хороший вариант.

Deja-vu
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 55
Зарегистрирован: 02.11.2004 (Вт) 22:02

Сообщение Deja-vu » 12.10.2005 (Ср) 22:09

Avtopic
Спасибо большое, думаю, теперь получится! :)


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 38

    TopList