Excel VBA: как очистить выделение без активации листа

40251
Nick

Редактировать:

Не для очистки данных в выделении, а для удаления самого выделения. Я полагаю, это будет эквивалентно выбору другого диапазона, например, A1.

1
По крайней мере, в Excel XP нет возможности выбрать ячейку, если лист не активен. MP24 14 лет назад 0

2 ответа на вопрос

8
caliban

эм, вы всегда можете использовать VBA для ссылки на лист и диапазон ячеек?

Option Explicit  Sub RemoveValues() Worksheets("ACME_Sales").Range("A1:B17").ClearContents End Sub 

Это очистит ячейки от A1 до B17 на рабочем листе ACME_Sales.

ИЗМЕНЕНО Редактировать ответ, чтобы отредактировать отредактированный вопрос.

Sub SelectNewCell() Worksheets("ACME_Sales").Select Range("E2:E2").Select End Sub 

Это позволит VBA удалить любой выбор в ACME_Sales, а затем просто выбрать ячейку E2.

отредактированный вопрос для уточнения Nick 15 лет назад 0
@Nick - да, вы правы - вы просто выбираете другой диапазон, чтобы отменить текущий выбор. Попробуйте («А1: А1»)? caliban 15 лет назад 0
0
John Henriksen

Для списка рассылки вы можете все так сделать так

Sub test()  ClearListRange sht, Range("PIVOTTABLEDATASOURCESSTART")  End Sub    Public Sub ClearListRange(sht as worksheet, Startrange As Range)  sht.Range(Range(Startrange, Startrange.End(xlToRight)), Range(Startrange, Startrange.End(xlDown))).ClearContents   End Sub 

Похожие вопросы