|
|
|
массив макрос
|
|||
|---|---|---|---|
|
#18+
Добрый день, уважаемые Гуру. Нуждаюсь в помощи и объяснениях. На сегодняшний день я столкнулся с задачей которую хочу решить именно макросом. Не знаю как задать поиск по массивам определенного значения. Помогите примерами и комментариями. Пример в приложении. Ждешь то, о чем мечтаешь, а получишь - что заслужил!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2010, 14:20 |
|
||
|
массив макрос
|
|||
|---|---|---|---|
|
#18+
-O_o-, Вроде так лучше: Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2010, 15:55 |
|
||
|
массив макрос
|
|||
|---|---|---|---|
|
#18+
Hugo121-O_o-, Вроде так лучше: Код: plaintext 1. 2. 3. 4. 5. Да, найти совпадение А в С и вывести если совпало значение (С1) в ячейку (В31). Но я сейчас пытаюсь понять как сделать это в цикле... перебора. Подскажите пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2010, 16:02 |
|
||
|
массив макрос
|
|||
|---|---|---|---|
|
#18+
И вообще тогда так, лишнего было много Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2010, 16:03 |
|
||
|
массив макрос
|
|||
|---|---|---|---|
|
#18+
Так? Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2010, 16:06 |
|
||
|
массив макрос
|
|||
|---|---|---|---|
|
#18+
Или может вместо Cells(31, 2).Value = Cells(1, 3).Value надо Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2010, 16:08 |
|
||
|
массив макрос
|
|||
|---|---|---|---|
|
#18+
2 Hugo121, Вот 3-й вариант хорош. Но у меня вопрос есть. 1-й: Set DiaPazon = [a31:a49] что делает эта команда? 2-й: For Each cc In DiaPazon - мы ищим переменную cc в заданном диапазоне. Но для cc не задано же значение, что он искать будет? 3-й: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2010, 16:36 |
|
||
|
массив макрос
|
|||
|---|---|---|---|
|
#18+
1. Set - это задаёт диапазон. Просто = не работает. 2. For Each cc In DiaPazon - переведите на русский :) (что-то гугль спасовал... а на нерусский перевёл: "для каждого сс в DiaPazon". Так что считай значение задано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2010, 16:50 |
|
||
|
массив макрос
|
|||
|---|---|---|---|
|
#18+
Угадайте, на какой язык переводилось Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2010, 17:01 |
|
||
|
массив макрос
|
|||
|---|---|---|---|
|
#18+
...у меня вопрос есть. 1-й: Set DiaPazon = [a31:a49] что делает эта команда? 2-й: For Each cc In DiaPazon - мы ищим переменную cc в заданном диапазоне. Но для cc не задано же значение, что он искать будет? 3-й: Код: plaintext 1. -O_o-, все три Ваших вопроса имеют отношение к объектным переменным (переменным типа Object) 1. Переменной DiaPazon (тип объект-диапазон) присваивается ссылка на диапазон [a31:a49]. При присвоении ссылки объектным переменным используется оператор Set. 2. Для наглядности лучше переписать строку так Код: plaintext 3. Здесь проверяется, содержит ли объектная переменная ссылку на объект, т.е. инициализирована ли она. Сравните с аналогичной проверкой для обычной переменной: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2010, 17:10 |
|
||
|
массив макрос
|
|||
|---|---|---|---|
|
#18+
2 vlth and Hugo121 Спасибо вам за объяснения. Но я вот еще чего не понял... Код: plaintext 1. значение ячейки (31, 2)= значение ячейки (1, 3). Правильно я понял??? И вопрос еще один. Как сделать так, что бы он еще и по массивам прошелся??? и вівел значение других массивов? То есть Код: plaintext Код: plaintext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2010, 17:47 |
|
||
|
массив макрос
|
|||
|---|---|---|---|
|
#18+
Дословно: Если не найдено значение Fnd тогда ничего потом (если нашло) значение ячейки (31, 2)= значение ячейки (1, 3). Правильно я понял??? Правильно, но немного не в том порядке получается: Если диапазон Fnd (состоящий из одной ячейки) найден, то присваиваем ячейке [31, 2] значение ячейки [1, 3]; если нет - то ищем следующее значение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2010, 18:03 |
|
||
|
массив макрос
|
|||
|---|---|---|---|
|
#18+
Код: plaintext Так имхо понятнее. 2. Задать Range из этих колонок, искать в этом Range, выводить Cells(1, Fnd.Column).Value ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2010, 18:11 |
|
||
|
массив макрос
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2010, 18:17 |
|
||
|
массив макрос
|
|||
|---|---|---|---|
|
#18+
Пардон, вот так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2010, 18:26 |
|
||
|
массив макрос
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2010, 20:09 |
|
||
|
массив макрос
|
|||
|---|---|---|---|
|
#18+
Hugo121 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Да, спасибо вы все правильно поняли кроме одного. Значение D1 нужно вносить в С31:С49... А не в В31:В49. Как это сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2010, 15:07 |
|
||
|
массив макрос
|
|||
|---|---|---|---|
|
#18+
-O_o-, можно анализировать Fnd.Column, а можно тупо 2/3/сколько_нужно раз поставить цикл поиска по разным диапазонам, соотв. меняя двойку в Cells(cc.Row, 2).Value. Но лучше первый вариант: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2010, 15:23 |
|
||
|
массив макрос
|
|||
|---|---|---|---|
|
#18+
Hugo121, Хоть убей не могу понять каким образом задать цикл для диапазонов поиска... Подскажите ребята!!!!!!!!!!!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2010, 13:56 |
|
||
|
массив макрос
|
|||
|---|---|---|---|
|
#18+
-O_o-, по каким диапазонам? Последний вариант не годится? Он правда ищет по всем диапазонам сразу - зачем тут цикл. А фразой "тупо 2/3/сколько_нужно раз поставить цикл поиска" я так и подразумевал - тупо повторить немного изменённый код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2010, 14:03 |
|
||
|
массив макрос
|
|||
|---|---|---|---|
|
#18+
А можно так задать цикл по ячейкам заранее заданных диапазонов: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2010, 14:15 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=36601190&tid=2178188]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
168ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 249ms |
| total: | 510ms |

| 0 / 0 |
