Активировать диапазон, разрешить редактирование, продолжить - PullRequest
0 голосов
/ 11 февраля 2009

В качестве дополнительного метода для моего вопроса здесь: Показать диапазон ячеек на пользовательской форме; затем обновите

Я хотел бы иметь макрос, который выбирает диапазон и активирует его, но позволяет пользователю редактировать ячейки в этом диапазоне. Затем ему нужна кнопка, которая перемещается в следующий диапазон. Есть ли способ сохранить форму видимой, но разрешить пользователю доступ к диапазону?

И если это возможно, могу ли я временно заблокировать все другие ячейки, кроме тех, которые находятся в диапазоне во время обновления, чтобы избежать ошибок?

1 Ответ

1 голос
/ 11 февраля 2009

Вы можете показать форму в «немодальном» состоянии, что означает, что пользователь не привязан к этой форме:

Dim interactionForm As New DemoForm

interactionForm.Show vbModeless

Вы также можете программно блокировать и разблокировать определенные диапазоны ячеек в зависимости от того, что вы хотите сделать:

Dim bigRange As Range
Set bigRange = Sheet1.Range("SomeRange")

Sheet1.Cells.Locked = True
bigRange.Locked = False
Sheet1.Protect "password1" ' add other options here

Используя это, вы можете заблокировать все ячейки на листе, но разблокировать диапазон, который вы хотите отредактировать. Вы можете даже окрасить этот диапазон зеленым или другим цветом, чтобы добиться того, что вы хотите, чтобы они делали.

Только не забудьте разблокировать все, когда вы закончите!

Sheet1.Unprotect "password1"
Sheet1.Cells.Locked = False
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...