|
|
|
Данная команда неприменима для несвязанных диапазонов EXCEL
|
|||
|---|---|---|---|
|
#18+
Всем привет! Написал небольшую процедуру, которая предлагает пользователю выбрать диапазон на одном листе Excel и вставить его в новый лист. Выделение и копирование диапазона происходит удачно если пользователь выделил связанный диапазон, например $A:$A;$C:$C;$E:$E. А если пользователь выделил к примеру такой диапазон ($A:$A;$C$2:$C$10), то никакого копирования не происходит, а выдается следующая ошибка "Данная команда неприменима для несвязанных диапазонов" . Как через VBA проверить является ли диапазон связанным или нет и если нет, то вернуть пользователя в программку для ввода правильного диапазона. Копирования несвязанного диапазона мне не нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2010, 20:16 |
|
||
|
Данная команда неприменима для несвязанных диапазонов EXCEL
|
|||
|---|---|---|---|
|
#18+
andMegaM, Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2010, 22:45 |
|
||
|
Данная команда неприменима для несвязанных диапазонов EXCEL
|
|||
|---|---|---|---|
|
#18+
Спасибо! это как раз то, что мне нужно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2010, 10:40 |
|
||
|
Данная команда неприменима для несвязанных диапазонов EXCEL
|
|||
|---|---|---|---|
|
#18+
Извиняюсь, я немного поторопился с выводами. Если выделить диапазон $A:$A;$C:$C;$E:$E, то авторSelection.Areas.Count будет равет 3 (трем). т.е. такой вариант не решает моей проблемы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2010, 10:45 |
|
||
|
Данная команда неприменима для несвязанных диапазонов EXCEL
|
|||
|---|---|---|---|
|
#18+
andMegaMИзвиняюсь, я немного поторопился с выводами. Если выделить диапазон $A:$A;$C:$C;$E:$E, то авторSelection.Areas.Count будет равет 3 (трем). т.е. такой вариант не решает моей проблемыПравильно. Так ведь диапазоны-то несвязанные. Вы про это писали. Если нет - выкладывайте пример и посмотрим, что там можно сделать. Только условия тоже озвучьте - а то в прошлый раз Вы написали: "Как через VBA проверить является ли диапазон связанным или нет". Я Вам ответил, но под Вашу задачу оказывается не совсем подходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2010, 11:27 |
|
||
|
Данная команда неприменима для несвязанных диапазонов EXCEL
|
|||
|---|---|---|---|
|
#18+
Вот процедура копирования одного диапазона с одного листа на другой лист Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Если выделить диапазон $A:$A;$C:$C;$E:$E, то копирование происходит, а если $A:$A;$C$2:$C$10, то появляется ошибка '1004' ("Данная команда неприменима для несвязанных диапазонов" .) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2010, 11:46 |
|
||
|
Данная команда неприменима для несвязанных диапазонов EXCEL
|
|||
|---|---|---|---|
|
#18+
Так бы сразу и сказали. Копируйте любые: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2010, 12:29 |
|
||
|
Данная команда неприменима для несвязанных диапазонов EXCEL
|
|||
|---|---|---|---|
|
#18+
Спасибо. Возможно это мне пригодится в будущем, но сейчас мне необходимо запретить копирование несвязанных диапазонов. Мне нужно отправить пользователя перевыбрать диапазон, если диапазон не является связанным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2010, 12:46 |
|
||
|
Данная команда неприменима для несвязанных диапазонов EXCEL
|
|||
|---|---|---|---|
|
#18+
andMegaMСпасибо. Возможно это мне пригодится в будущем, но сейчас мне необходимо запретить копирование несвязанных диапазонов. Мне нужно отправить пользователя перевыбрать диапазон, если диапазон не является связанным.Вы уже определитесь тогда. Диапазон либо несвязанный либо единый. А то, что Вы пишите: Если выделить диапазон $A:$A;$C:$C;$E:$E, то Selection.Areas.Count будет равет 3 (трем). т.е. такой вариант не решает моей проблемыА чему он должен быть равен? Это же НЕСВЯЗАННЫЙ диапазон с тремя областями. Тогда проверяйте каждую область из всего несвязанного на предмет одинакового кол-во строк. Но и там не все так просто. А если пользователь выделит несмежные строки? Значит надо делать проверку на то, выделены строки или столбцы. Но я все же непонимаю, чем обусловлено такое желание. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2010, 13:15 |
|
||
|
Данная команда неприменима для несвязанных диапазонов EXCEL
|
|||
|---|---|---|---|
|
#18+
Но я все же не понимаю, чем обусловлено такое желание. Результатом копирования таким образом как этот Код: plaintext 1. 2. Дата , Название организации, Адрес, Телефон, Контактное лицо ,Сумма закупки Нужно выделить некие строки, например за несколько дней, вставить на новый лист, чтобы потом вывести на печать. Если произвести копирование вышеприведенным образом, то получим что в определенный день закупок вообще не было или сумма закупки будет не на ту дату. PS Я сам случайно обнаружил ошибку копирования в тот момент когда при нажатой кнопке Shift кликнул на ненужную мне ячейку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2010, 13:35 |
|
||
|
Данная команда неприменима для несвязанных диапазонов EXCEL
|
|||
|---|---|---|---|
|
#18+
andMegaM, Я взял за основу именно Ваш алгоритм, при котором все данные начинали вставляться в А1 другого листа. Вы не хотите ни толком пояснить, чем мешает запрещение копирования несмежных диапзаонов вообще, ни пояснить зачем и ГЛАВНОЕ КАК должно происходить копирование целых столбцов, по Вашему мнению. Вот такой код будет вставлять копируемое точно в такие же ячейки, как и в листе с копируемым. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2010, 17:28 |
|
||
|
Данная команда неприменима для несвязанных диапазонов EXCEL
|
|||
|---|---|---|---|
|
#18+
[quot Вы не хотите ни толком пояснить, чем мешает запрещение копирования несмежных диапзаонов вообще, ни пояснить зачем и ГЛАВНОЕ КАК должно происходить копирование целых столбцов, по Вашему мнению.[/quot] Не должно происходить копирование в том случае если : Выделена какая либо колонка (строка) + некий диапазон, не являющийся целой колонкой (строкой) т.е. диапазон $A:$A;$B$2:$B$10 не должен копироваться Копирование должно происходить если: 1. Выделена целиком колонка (строка) , а также набор целых колонок (строк) т.е. $A:$A;$C:$C;$D:$D ($4:$7;$11:$14) 2. В том случае если диапазоны "похожи" (не знаю как правильно назвать такие диапазоны), например $A$1:$B$2;$A$5:$B$10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2010, 07:21 |
|
||
|
Данная команда неприменима для несвязанных диапазонов EXCEL
|
|||
|---|---|---|---|
|
#18+
чей-то мне подсказывает, что тут 2 варианта: - или пользователь понимает что делает и тогда выделяет как правильно, и даже если выскочит ошибка, то сделает все по-новой. - или если предъявляются особые требования, то тогда не нужно давать пользователю выбирать диапазоны вообще. Нужно сразу на форму выводить список строк и стоблцов базы и давать возможность галочки поставить напроив нужных и скопировать их по алгоритму. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2010, 16:59 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=36929243&tid=2177507]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
161ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 480ms |

| 0 / 0 |
