Excel VBA" отменить выбор " требуется

Я хотел бы, чтобы окончательный вид после того, как мой VBA закончил работу, был пустым выбора-чтобы на любом листе не было ячейки или диапазона (если бы он был выбран диапазон) или в жирной строке (все, что было выбрано). Pupose: представить клиента с опрятным окончательным возникновением.

я обыскал и не могу найти как это сделать. По словам MS, есть Unselect, но он, похоже, ничего не делает.

23
задан Gary
15.03.2023 1:03 Количество просмотров материала 3544
Распечатать страницу

7 ответов

выберите любую ячейку и выключить CutCopy:

  Range("A1").Select
  Application.CutCopyMode = False
9
отвечен user276802 2023-03-16 08:51

есть хитрый способ сделать это.

создайте объект, например кнопку. Выберите эту кнопку, затем скройте ее, и никакая ячейка не будет выбрана.

ActiveSheet.Shapes("Button 1").Visible = True

ActiveSheet.Shapes("Button 1").Select

ActiveSheet.Shapes("Button 1").Visible = False

вот и все.

2
отвечен user364941 2023-03-16 11:08

единственный ответ, чтобы обмануть.

скрыть колонку A и в строке 1

поставить курсор в A1. Там будет крошечная точка в углу B2

1
отвечен SeanC 2023-03-16 13:25

Excel всегда что-то выбрано. Необходимо обойти эту проблему. Выбор ячейки вне экрана будет установить фокус там, так что не будет работать сам по себе. Этот код помещает курсор за пределы экрана, а затем прокручивает лист обратно в view A1.

Sub NoSelect()    
  Range("BB100").Select
  ActiveWindow.SmallScroll up:=100
  ActiveWindow.SmallScroll ToLeft:=44
End Sub

Если вы действительно хотите ' ничего не выбрано`, вы можете использовать VBA для защиты листа в конце выполнения кода, который не будет вызывать ничего, чтобы быть выбраны. Это можно добавить в макрос или поместить в VBA непосредственно.

Sub NoSelect()
   With ActiveSheet
   .EnableSelection = xlNoSelection
   .Protect
   End With
End Sub

как только лист будет незащищен, курсор активирует ячейку.

1
отвечен CharlieRB 2023-03-16 15:42

в зависимости от размера вашего выбора, Чтобы избавиться от каких-либо искусственных (я не знаю, если это также проблема в Excel 2013 года, но на Mac это была постоянная боль для меня) вы можете просто перебирать ячейку за ячейкой и выбирать каждый.

1
отвечен Jason Pevitt 2023-03-16 17:59

отключив обновление экрана перед выбором ячейки, выделите ячейку временно отключен.

этот код проверяет, какие ячейки в данный момент видны, и выбирает первую ячейку ниже видимого диапазона, которая не видна. Например, когда я пробую: диапазон Visble-A1: BC79, поэтому этот код выбирает A80 и прокручивает вниз и вправо, и снова запускает его, показывает, что excel выбирает первую ячейку, не видимую ниже первого видимого столбца.


Dim r As Range
Application.ScreenUpdating = False
Set r = Application.ActiveWindow.VisibleRange
r(r.Cells.Count + 1).Select
Application.ScreenUpdating = True

1
отвечен Tobias Carlén 2023-03-16 20:16

используйте трюк: Добавьте фигуру, затем выберите ее и скройте.

исходный код для этого в ответе на другой вопрос на этом сайте.

0
отвечен miroxlav 2023-03-16 22:33

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх