powered by simpleCommunicator - 2.0.57     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Снять выделение с вставленного на лист диапазона
7 сообщений из 7, страница 1 из 1
Снять выделение с вставленного на лист диапазона
    #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
Снять выделение с вставленного на лист диапазона
    #38608735
1234_5678
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
только, если можно, без варианта
Код: vbnet
1.
xlsSheetDist.<любая ячейка>.Select
...
Рейтинг: 0 / 0
Снять выделение с вставленного на лист диапазона
    #38608769
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Но ведь что-то должно быть выделено? ;)
Если вопрос в том, чтобы не менять выделение, то его можно сохранить, потом выделить после вставки.

Или перебрать столбцы копируемого диапазона и установить ширину соотв. столбцов листа-получателя.
...
Рейтинг: 0 / 0
Снять выделение с вставленного на лист диапазона
    #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
Снять выделение с вставленного на лист диапазона
    #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
Снять выделение с вставленного на лист диапазона
    #38608970
1234_5678
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Снимаю шляпу...
Спасибо! всё красиво: вставляемое не выделяется и фокус остаётся на первом листе(всего их там 3)
-------------------------------------------------------
Может ещё есть способ обойтись Select, когда создаётся многостраничная книга и каждый лист добавляется командой
Код: vbnet
1.
xlsBook.sheets.Add(After:=xlsBook.Worksheets(xlsBook.Worksheets.Count))

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


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