m0_68339225 2023-07-18 17:23 采纳率: 0%
浏览 6

vba代码生成的下拉列表在设置单元格保护后失效

Excel中的下拉列表是通过vba selection change事件中的validation生成的,但是设置单元格保护后,下拉列表直接失效了,下拉列表区域的locked已经勾掉了。这个问题要怎么解啊

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-07-19 04:46
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:
    • 以下回答来自chatgpt:

      我理解你的问题是,当你设置单元格保护后,通过VBA生成的下拉列表失效了,并且你已经确认下拉列表区域的locked属性已经取消勾选。你想知道如何解决这个问题。

      这个问题通常是由于单元格保护中的某些选项导致的。在单元格保护时,下拉列表控件可能会被禁用。为了解决这个问题,你可以按照以下步骤进行操作:

      1. 在Excel中打开VBA编辑器。可以通过按下Alt + F11组合键或在开发者选项卡中点击"Visual Basic"按钮来打开。
      2. 在左侧的“项目资源管理器”窗格中,找到你的工作簿,并展开它。
      3. 双击打开该工作簿的代码模块(通常是“Sheet1”或“Sheet2”等)。
      4. 在该代码模块中,找到你生成下拉列表的代码块,通常是一个名为"SelectionChange"的事件。
      5. 在这个事件的代码块中,找到生成下拉列表的代码。
      6. 在这个代码块中,将下列代码添加到生成下拉列表的代码之前:
          ActiveSheet.Protect UserInterfaceOnly:=True
      

      这行代码将保护单元格,但保持用户界面可编辑。这意味着通过VBA生成的下拉列表仍然可以使用。 7. 保存并关闭VBA编辑器。 8. 在Excel中运行该代码,验证下拉列表是否正常工作。

      这样一来,你就可以在设置单元格保护后,通过VBA生成的下拉列表正常工作了。

      请注意,这种方法假设你只想要保护单元格的编辑,而不是保护整个工作表。如果你想要同时保护整个工作表,那么你需要将"UserInterfaceOnly"参数设置为False。

      希望这个解决方案能够帮助你解决问题。如果你还有其他疑问,请随时提问。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 7月18日

悬赏问题

  • ¥15 如何使用micpyhon解析Modbus RTU返回指定站号的湿度值,并确保正确?
  • ¥15 C++ 句柄后台鼠标拖动如何实现
  • ¥15 有人会SIRIUS 5.8.0这个软件吗
  • ¥30 comsol仿真等离激元
  • ¥15 静电纺丝煅烧后如何得到柔性纤维
  • ¥15 (标签-react native|关键词-镜像源)
  • ¥100 照片生成3D人脸视频
  • ¥15 伪装视频时长问题修改MP4的时长问题,
  • ¥15 JETSON NANO
  • ¥15 VS开发qt时如何在paintgl函数中用pushbutton控制切换纹理