|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
20.03.2009, 15:53 | #1 |
Пользователь
Регистрация: 14.08.2008
Сообщений: 64
|
Помогите со скриптом
Решил автоматизировать примитивный процесс, надоело руками делать.
Есть список номеров и нужно сравнивать ячейку на содержание в ней одного из номеров, ячейки формата "общий", мне нужно не точное равенство, а что бы стаивлась галочка если в ячейки содержится такие-то цифры. В визуал бейсике ничего почти не понимаю вот примерно такой смысл For i = 1 To 3 ActiveCell.Select If ActiveCell.Value = 2867657 Then ActiveCell.Offset(0, -1).Range("A1").Select ActiveCell = "x" ActiveCell.Offset(0, 1).Range("A1").Select End If ActiveCell.Offset(1, 0).Range("A1").Select Next i End Sub Но требуется, проверять не на равенство и не одно числа, а сверять на содержание с группой ячеек в которой числа, подскажите хоть синтаксис и дальше я сам сварганю. Как можно сверять с групой ячеек по очереди? Понятно что цикл внутри цикла, но как предедвигатся от ячейки к ячейке в списке значений, ActiveCell то я уже использую на первом списке. Огромное спасибо заранее |
20.03.2009, 15:57 | #2 |
Пользователь
Регистрация: 20.03.2009
Сообщений: 18
|
Зачем юзать VBA если есть СЧЁТЕСЛИ?
Дружище, используй эту функцию и не майся дурью.
VBA нужно использовать тогда, когда стандартные средства Excel бессильны....
|
20.03.2009, 16:01 | #3 |
Пользователь
Регистрация: 14.08.2008
Сообщений: 64
|
Во первых все таки мне нужен скрипт в VBA и сделать его проще протого, тому кто хоть что то понимает в VBA, не то что я
Во вторых СЧЕТЕСЛИ - подсчитывает кол-во непустых ячеек в диапазоне, удовлетворяющем заданному условию. Не понимаю как можно это использовать в моем случае, мне не нужен подсчет непустых ячеек |
20.03.2009, 16:06 | #4 | |
Пользователь
Регистрация: 20.03.2009
Сообщений: 18
|
Цитата:
Как раз СЧЁТЕСЛИ позволяет подсчитать кол-во ячеек по любому условию, даже с использованием специальных символов * и ?. Ты справку хотя бы читал? По поводу того как может помочь. Прописываешь формулу типа такой: =ЕСЛИ(СЧЁТЕСЛИ(Диапазон;Условие)<>0 ;1;0) Эта формула проставит 1 (вместо галочки).
VBA нужно использовать тогда, когда стандартные средства Excel бессильны....
|
|
20.03.2009, 16:11 | #5 |
Пользователь
Регистрация: 14.08.2008
Сообщений: 64
|
Справку я смотрел и там именно такое определение. У меня больше 200 номеров, которые нужно искать в базе из нескольких тысяч строк.
Подскажите синтаксис сравнения в VBA |
20.03.2009, 16:27 | #6 |
Пользователь
Регистрация: 20.03.2009
Сообщений: 18
|
Я считаю что тебе нужна функция счётесли. Ну если ты настаиваешь...
Есть два способа перебора ячеек: 1) Через объект Cells 2) Объектный способ через объект Range Вод код для первого способа: For i = 1 To 3 cells(i,3).value next Вот код для второго способа Dim r as range For Each r in Range("A1:A5") r.value Next Хочешь иметь геморрой - имей, мне то что
VBA нужно использовать тогда, когда стандартные средства Excel бессильны....
|
20.03.2009, 16:30 | #7 |
Пользователь
Регистрация: 20.03.2009
Сообщений: 18
|
А вообще если хочешь, выложи пример и я тебе помогу
VBA нужно использовать тогда, когда стандартные средства Excel бессильны....
|
20.03.2009, 16:56 | #8 |
Пользователь
Регистрация: 14.08.2008
Сообщений: 64
|
Канеш хочу
Вот 3 значения в примере, если нажать cntrl+W, скрипт поставит галочку, но это просто равенство и сравнивает только 2867657 Нада шоб этих трех ячейках он искал правые два числа и если нашел то ставил "x" |
20.03.2009, 17:04 | #9 |
Пользователь
Регистрация: 14.08.2008
Сообщений: 64
|
Вот на основе cells сделал пример
Последний раз редактировалось SoFuWa; 20.03.2009 в 17:13. |
20.03.2009, 17:17 | #10 |
Пользователь
Регистрация: 14.08.2008
Сообщений: 64
|
вообчем то в примере уже все работает кроме сравнения на содержание
Sub asd() For i = 2 To 4 For n = 2 To 3 If Cells(i, 2).Value = Cells(n, 7).Value Then Cells(i, 1).Select ActiveCell = "x" End If Next n Next i End Sub В строке If Cells(i, 2).Value = Cells(n, 7).Value Then нужно чтоб не равенство проверялось а содержание числа которое в ячейке Cells(n, 7).Value в ячейке Cells(i, 2).Value. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите со скриптом | ZerokuL | Помощь студентам | 10 | 05.04.2008 11:07 |
Помогите разобраться со скриптом.... | fclmhooligan | JavaScript, Ajax | 13 | 14.02.2008 22:36 |