|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
10.05.2010, 21:41 | #1 |
Форумчанин
Регистрация: 25.03.2010
Сообщений: 417
|
Поиск в массиве
Всем доброго времени!
помогите написать код - есть переменная "d", если в диапазоне "A10:A34700" есть такое значение, то присваиваем его переменной v, иначе v="" и программа идет дальше. Мой вариант: Код:
и еще такой вопрос: возможно ли одновременное выполнение двух макросов? смысл такой: макрос №1 ищет в диапазоне "A10:A17000", а макрос №2 ищет в диапазоне "A17001:A34700", если это уменьшит время поиска конечно |
10.05.2010, 22:55 | #2 |
Пользователь
Регистрация: 08.05.2010
Сообщений: 48
|
Можно записать через макросридер с условиями поиска подробнее, а чтобы не искались приближенные результаты - включите "ячейка целиком"
|
11.05.2010, 05:48 | #3 | ||
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Цитата:
Код:
Цитата:
Чем шире угол зрения, тем он тупее.
|
||
11.05.2010, 17:50 | #4 |
Форумчанин
Регистрация: 25.03.2010
Сообщений: 417
|
и зачем я стер LookAt:=xlWhole после записи...
по поводу сразу двух макросов: я хотел чтоб два макроса искали одну и туже переменную сразу в двух частях диапазона и, кто первы найдет ее тот и прсваивает ее значение другой переменной |
13.05.2010, 05:10 | #5 | |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Цитата:
Что значит "кто первый найдет"? По времени? Или по адресу? Опишите подробнее, что Вам требуется, а мы подскажем, как это лучше реализовать.
Чем шире угол зрения, тем он тупее.
|
|
13.05.2010, 06:46 | #6 |
Форумчанин
Регистрация: 25.03.2010
Сообщений: 417
|
По времени.
есть диапазон : A1:A34700 (во всех ячейках текст). нужно узнать, есть ли в нем ячейка, значение которой равно d и, пусть вывести ее адрес. Поиск в ручную: мы смотрим ячейку А1 и сравниваем с о значением переменной d, потом А2, А3... и на конец А34700. А можно искать ее двум человекам. Первый начинает с ячейки А1, второй либо с А17350, либо с конца. Таким образом время поиска может сократиться почти в два раза. Но вопрос не в том как запустить сразу два (думаю можно где нибудь найти), а сократит ли это время поиска, или при работе сразу двух макросов скорость каждого из них уменьшиться в двое и в результате получим еще медленнее? |
13.05.2010, 07:14 | #7 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
Цитата:
Использовать 2 макроса нецелесообразно. |
|
13.05.2010, 07:24 | #8 |
Пользователь
Регистрация: 08.05.2010
Сообщений: 48
|
Это увеличит время обработки. Код VBA работает в несколько раз медленнее встроенных функций Excel. Если обычный поиск (не в VBA) найдет ячейку в вашем диапазоне за 0,01 сек., то VBA потратит на это 0,5-1 сек. Если сразу два макроса, то еще медленнее. А вообще, при таких значениях времени стоит-ли париться? Не минуты же.
|
13.05.2010, 08:31 | #9 |
Форумчанин
Регистрация: 25.03.2010
Сообщений: 417
|
|
13.05.2010, 10:37 | #10 | |
Форумчанин
Регистрация: 24.03.2010
Сообщений: 349
|
Цитата:
Нет нерешаемых задач - есть недостаток времени и данных!
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Поиск в массиве | Aleksandr | Помощь студентам | 3 | 30.01.2010 19:51 |
Поиск в массиве | VladimirAleks | Общие вопросы Delphi | 3 | 06.11.2009 15:00 |
Поиск минимума в массиве. | Sparky | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 10 | 17.09.2009 19:39 |
Поиск в массиве | ADSoft | PHP | 1 | 07.08.2009 11:17 |
Поиск в массиве | Paul_AG | Общие вопросы C/C++ | 9 | 03.06.2009 01:29 |