gpt4 book ai didi

excel - 保护工作表但取消保护文本输入形状

转载 作者:行者123 更新时间:2023-12-04 20:45:12 25 4
gpt4 key购买 nike

我一直在谷歌搜索和搜索这个网站。如果这是一个简单的问题或经常被回答,我很抱歉,但我还没有找到我的解决方案。

本质上,我创建了一个表格,其中填充了输入表单控件对象(不是 ActiveX)内容和一些形状。

所以我有这张我想保护的工作表,但我想选择允许输入的特定形状(几个文本框)。我不希望用户移动东西、单击随机单元格等。我想要我命名的 5-6 个特定表单控件以允许输入,而其他所有内容都被锁定。

我该怎么做呢?再次,抱歉应该是一个简单的答案,但显然我的搜索没有提出正确的问题。

' Locks the main config pages and hides everything the user shouldn't touch
Public Sub ProtectUserFromUser()

Set configsheet = Sheets(MgmtConfigSheet)
Set authsheet = Sheets(AuthDataSheet)
Set mydebugsheet = Sheets(debugsheet)

authsheet.Visible = xlSheetVeryHidden
configsheet.Visible = xlSheetVisible
mydebugsheet.Visible = xlSheetVeryHidden

Call UnprotectInput
configsheet.Protect

End Sub

' All the fields user should be able to input on here
Private Sub UnprotectInput()
Set x = configsheet.Shapes("testInputBox")
x.Locked = False

End Sub

这里发生的情况是我仍然可以单击并选择单元格,但我无法在 testInputBox 中键入任何输入字符。 .我设置 Sheets 时的变量很好。如何制作 configsheet仅响应或接受选定位置/形状/范围等中的输入?

更新 为了清楚起见,我在不允许用户移动文本框时尝试输入的文本框被创建为 Shape。它嵌入在工作表中,而不是表单中。 LockedLock text Shape 中的复选框未选中属性(property)。

最佳答案

你必须做两件事。两者都不需要 VBA。

  • 您需要确保表单控件已解锁
  • 确保表单控件正在写入的单元格不 protected 。 (格式化单元格对话和取消保护单元格)


  • 编辑:下面已更新以反射(reflect)对形状的处理,而不是表单控件
  • 确保形状不 protected (您在现有代码中执行此操作)
  • 您的电子表格保护代码也需要更改以允许编辑对象

  • 更改此行
    configsheet.Protect

    对此:
    configsheet.Protect _
    DrawingObjects:=False, _
    Contents:=True, _
    Scenarios:=True

    关于excel - 保护工作表但取消保护文本输入形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20028631/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com