2009-02-11 71 views
0

至于我的问题的辅助方法,在这里:Show Cell Range on UserForm; then update激活范围,允许编辑,继续

我想有一个选择的范围,并激活一个宏,但允许用户编辑在细胞范围。然后,它需要一个移动到下一个范围的按钮。有没有办法让表单可见,但允许用户访问范围?

如果这是可能的,我可以临时锁定所有其他单元而不是范围内的更新发生,以避免错误?

回答

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 
+0

这正是我所需要的!非常感谢! – 2009-02-11 12:13:23