作为我问题的辅助方法: Show Cell Range on UserForm; then update
我想要一个宏来选择一个范围并激活它,但允许用户编辑该范围内的单元格。然后,它需要一个移动到下一个范围的按钮。有没有办法保持表单可见,但允许用户访问范围?
如果可能的话,我可以在进行更新时暂时锁定除范围内的所有其他单元格以避免错误吗?
答案 0 :(得分:1)
您可以在“无模式”状态下显示表单,这意味着用户未锁定到该表单:
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