|
Как в Excel собрать из нескольких отдельных диапазонов один несвязный
|
|||
---|---|---|---|
#18+
Всем доброго времени суток! Вопрос вот в чем: В макросе в нескольких переменных типа Range (rng1, rng2, rng3) хранятся ссылки на какие-то диапазоны на одном рабочем листе. Нужно что бы еще одна переменная типа Range (rngMulty) хранила ссылку на диапазон, состоящий из нескольких областей (Areas), каждая область - диапазон в одной из переменных rng1 - rng3 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2005, 10:03 |
|
Как в Excel собрать из нескольких отдельных диапазонов один несвязный
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2005, 10:13 |
|
Как в Excel собрать из нескольких отдельных диапазонов один несвязный
|
|||
---|---|---|---|
#18+
Через Select... Не очень хотелось, т.к. макрос ничего не меняет, только читает. А селект вызывает активацию листа, на котором эти диапазоны... Придется запоминать текущую ячейку, отключать перерисовку экрана, а после отработки макроса возвращаться на запомненную ячейку... Жаль... :-( ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2005, 10:45 |
|
Как в Excel собрать из нескольких отдельных диапазонов один несвязный
|
|||
---|---|---|---|
#18+
LKOЖаль... :-(Проанализируем source: Код: plaintext 1.
Чтобы было "не жаль", упрости две строки кода до одной: Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2005, 11:39 |
|
Как в Excel собрать из нескольких отдельных диапазонов один несвязный
|
|||
---|---|---|---|
#18+
А ещё есть штатная функция Union Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2005, 12:30 |
|
Как в Excel собрать из нескольких отдельных диапазонов один несвязный
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2005, 12:36 |
|
Как в Excel собрать из нескольких отдельных диапазонов один несвязный
|
|||
---|---|---|---|
#18+
LongSА ещё есть штатная функция Union Код: plaintext 1.
!!! Большое спасибо. Что-то типа этого и хотелось... :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2005, 12:44 |
|
Как в Excel собрать из нескольких отдельных диапазонов один несвязный
|
|||
---|---|---|---|
#18+
Всем добрый день. Подскажите, как быть в аналогичной ситуации, только переменные rng1, rng2, rng3 - это не range, а string ? Мне нужно в конечном итоге выделить все эти диапазоны одновременно. Если написать Range(rng1, rng2).Select, то сработает. Но Range(rng1, rng2, rng3 ).Select - уже нет Не могу понять, чем Range("A43,B29,E19").Select, к примеру, отличается от Range(rng1, rng2, rng3).Select. Пробовала R = rng1 & "," & rng2 & "," & rng3, и потом Range(R).Select - тоже ошибка. please, help.. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2012, 18:23 |
|
Как в Excel собрать из нескольких отдельных диапазонов один несвязный
|
|||
---|---|---|---|
#18+
bella_Iтоже ошибка. какая? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2012, 19:08 |
|
Как в Excel собрать из нескольких отдельных диапазонов один несвязный
|
|||
---|---|---|---|
#18+
ikki, ошибка: Method 'Range' of object '_Global' failed ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2012, 20:36 |
|
Как в Excel собрать из нескольких отдельных диапазонов один несвязный
|
|||
---|---|---|---|
#18+
> Пробовала R = rng1 & "," & rng2 & "," & rng3, и потом Range(R).Select - тоже ошибка. Должно работать. Пройдите по шагам (F8), посмотрите, чему равно R. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2012, 22:24 |
|
Как в Excel собрать из нескольких отдельных диапазонов один несвязный
|
|||
---|---|---|---|
#18+
bella_I, Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
первый Select отрабатывает нормально, второй - выдает вашу ошибку. проверьте строки-адреса на наличие кириллицы ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2012, 01:47 |
|
Как в Excel собрать из нескольких отдельных диапазонов один несвязный
|
|||
---|---|---|---|
#18+
Казанский, Когда с помощью F8 прохожу процедуру, после шага R = rng1 & "," & rng2 & "," & rng3 получается R = "E6,F6,S5". Вроде все правильно. Следующие шаг Range(R).Select выдает ошибку Method 'Range' of object '_Global' failed ikki, Значения переменных получаются программным путем, названия переменных и прочее проверила автозаменой a,o,e,p - кириллица вроде бы не при чем. Кстати, скопировала ваш пример - та же самая ошибка вылетает на первом же селекте.. Может, что-то с настройками excel? О 2007 речь ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2012, 11:18 |
|
Как в Excel собрать из нескольких отдельных диапазонов один несвязный
|
|||
---|---|---|---|
#18+
bella_I, а влоб не хотите ? :) set rngmulti=union(range(rng1),range(rng2),range(rng3)...) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2012, 11:27 |
|
Как в Excel собрать из нескольких отдельных диапазонов один несвязный
|
|||
---|---|---|---|
#18+
_slan_, Если это поможет решить задачу, то да) Я ведь попробовала этот способ сначала, но что-то, видимо, сделала не так. Скорее всего написала set rngmulti=union(rng1,rng2,rng3), но у меня-то переменные типа string. Поэтому не проканало, и я больше в эту сторону не смотрела. Итак, сделала set rngmulti=union(range(rng1),range(rng2),range(rng3)) Результат: если переменная rngmulti не объявлена, то type mismatch Если rngmulti объявить как Range, или Ranges, то object required По справке для этой функции Return Value - Range, то есть почему во втором случае object required - непонятно ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2012, 14:27 |
|
Как в Excel собрать из нескольких отдельных диапазонов один несвязный
|
|||
---|---|---|---|
#18+
bella_I, а у вас случайно не лист диаграммы является активным? ибо, по-хорошему, перед range() должен идти объект-владелец. и, хотя, короткая форма допустима, но иногда чревата :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2012, 14:56 |
|
Как в Excel собрать из нескольких отдельных диапазонов один несвязный
|
|||
---|---|---|---|
#18+
ikki, Все происходит на листе со сводной таблицей, он в текущий момент активен. Получилось в итоге знаете как? На вот такую штуку выдавалась ошибка object required: set rngmulti=union(ActiveSheet.range(rng1),ActiveSheet.range(rng2),ActiveSheet.range(rng3)).Select Сделала set rngmulti=union(ActiveSheet.range(rng1),ActiveSheet.range(rng2),ActiveSheet.range(rng3)) rngmulti.Select и получила, наконец, что хотела. Кстати, ActiveSheet в последнем удачном случае - необязателен, т.е. получается и без него. Ох уж эти универсальные ошибки.. Спасибо всем, кто помогал! ps: почему не получалось через R = rng1 & "," & rng2 & "," & rng3 все-таки непонятно.. но уже не так актуально, раз есть альтернативный способ. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2012, 16:06 |
|
|
start [/forum/topic.php?fid=61&fpage=97&tid=2175546]: |
0ms |
get settings: |
10ms |
get forum list: |
23ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
28ms |
get topic data: |
25ms |
get forum data: |
2ms |
get page messages: |
70ms |
get tp. blocked users: |
2ms |
others: | 324ms |
total: | 490ms |
0 / 0 |