Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Снять выделение с вставленного на лист диапазона / 7 сообщений из 7, страница 1 из 1
08.04.2014, 15:47
    #38608704
1234_5678
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снять выделение с вставленного на лист диапазона
xlsSheet - лист-источник
xlsSheetDist - лист-получатель
копировать и вставить:
Код: vbnet
1.
2.
3.
xlsSheet.Range(.....).copy 
xlsSheetDist.Range("A1").PasteSpecial Paste:=8
xlsSheetDist.Range("A1").PasteSpecial Paste:=-4104


копируется и вставляется, но на листе-получателе вставленный диапазон остаётся выделенным
можно как-то убрать это выделение?
...
Рейтинг: 0 / 0
08.04.2014, 16:13
    #38608735
1234_5678
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снять выделение с вставленного на лист диапазона
только, если можно, без варианта
Код: vbnet
1.
xlsSheetDist.<любая ячейка>.Select
...
Рейтинг: 0 / 0
08.04.2014, 16:30
    #38608769
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снять выделение с вставленного на лист диапазона
Но ведь что-то должно быть выделено? ;)
Если вопрос в том, чтобы не менять выделение, то его можно сохранить, потом выделить после вставки.

Или перебрать столбцы копируемого диапазона и установить ширину соотв. столбцов листа-получателя.
...
Рейтинг: 0 / 0
08.04.2014, 16:47
    #38608790
1234_5678
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снять выделение с вставленного на лист диапазона
тогда как лучше делать:
Код: vbnet
1.
xlsSheetDist.cells(1, 1).Select

или
Код: vbnet
1.
xlsSheetDist.Range(xlsSheetDist.cells(1, 1),xlsSheetDist.cells(1, 1)).Select

?
...
Рейтинг: 0 / 0
08.04.2014, 17:00
    #38608807
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снять выделение с вставленного на лист диапазона
Лучше первое, ибо короче. Но надо обеспечить, чтобы лист был активным. То есть в общем случае надо еще запомнить активный лист, потом переключиться на xlsSheetDist, скопировать-вставить, выделить А1, переключиться на запомненный лист.
Так что с ширинами столбцов проще получается. Да еще и буфер обмена не задействуется (не меняется):
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
With xlsSheet.Range(.....)
  .Copy xlsSheetDist.Range("A1") 'выделение не меняется
  For Each c In .Columns
    i = i + 1
    xlsSheetDist.Columns(i).ColumnWidth = c.ColumnWidth
  Next
End With
...
Рейтинг: 0 / 0
08.04.2014, 19:14
    #38608970
1234_5678
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снять выделение с вставленного на лист диапазона
Снимаю шляпу...
Спасибо! всё красиво: вставляемое не выделяется и фокус остаётся на первом листе(всего их там 3)
-------------------------------------------------------
Может ещё есть способ обойтись Select, когда создаётся многостраничная книга и каждый лист добавляется командой
Код: vbnet
1.
xlsBook.sheets.Add(After:=xlsBook.Worksheets(xlsBook.Worksheets.Count))

потом происходит заполнение листа (уже не вставкой диапазонов) и т.д.
В результате, в конце работы программы, активным остаётся самый последний добавленный в книгу лист и приходится использовать команду
Код: vbnet
1.
sheets(<имя нужного листа>).Select
...
Рейтинг: 0 / 0
09.04.2014, 10:46
    #38609446
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снять выделение с вставленного на лист диапазона
Нет, с этим ничего не поделаешь.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Снять выделение с вставленного на лист диапазона / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]