Я хотел бы, чтобы окончательный вид после завершения работы моего VBA был пустым от выделения - чтобы ни одна ячейка или диапазон на любом листе не были выделены цветом (если был выделен диапазон) или в поле жирной линии (все, что было выделено). Цель: представить клиенту аккуратный окончательный вид.
Я искал и не могу найти, как это сделать. Есть Unselect согласно MS, но он, похоже, ничего не делает.
Выберите любую ячейку и выключите CutCopy
:
Range("A1").Select
Application.CutCopyMode = False
В Excel всегда что-то выбрано. Необходимо решить эту проблему. При выборе ячейки за пределами экрана фокус будет установлен там, так что это само по себе не сработает. Этот код помещает курсор за пределы экрана, а затем прокручивает лист обратно вверх для просмотра 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
Как только лист будет снят с защиты, курсор активирует ячейку.