userinterfaceonly:=true 似乎不允许 VBA 更改条件格式?

2023-11-27

我正在通过 Worksheet_Change 事件运行一段代码,并且让它在事件开始时调用 unprotect sub 并在事件结束时匹配调用 protected sub。这按预期工作。

我正在尝试在工作簿打开事件中将保护设置为 userinterfaceonly:=true ,以避免每次更改事件触发时取消保护和重新保护的需要(更多的是为了探索功能而不是其他任何事情)。问题是,如果工作表受到保护(即使 UserInterfaceOnly = True),则在锁定范围上更改条件格式的代码不可避免地会出现错误,尽管如果工作表未手动或通过 VBA 取消保护该行之前的工作表,则它可以正常工作且符合预期并在那条线之后重新保护。

我玩了一下,似乎在与更改锁定单元格的条件格式有关的任何事情上都会出错。我想知道在 UserInterfaceOnly 范围内是否不允许在受保护的工作表时更改锁定范围的条件格式?如果有人知道这是否是一个限制,以及这个论点是否有任何其他限制,那么很高兴知道。

在我的“本工作簿”模块中,我有:

Private Sub Workbook_open()

ActiveSheet.Protect userinterfaceOnly:=True

End Sub

在我的工作表模块中,我有以下内容 - 当该情况解析为 true 时,FormatConditions.Delete 行错误带有运行时错误 1004:应用程序或对象定义错误。

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$D$6" Then
    Application.ScreenUpdating = False
        Select Case Range("D6")
            Case "Select Function"
                Range("F6").Value = ("")
                Range("H4:I4").Select
                    Selection.FormatConditions.Delete <<<<<<THIS LINE ERRORS
                    Selection.ClearContents
                Call DeleteButtons
                Call HideAll
                Range("D6").Select
            Case "Goods In & Redelivery"
                Range("F6").Value = ("EXPLANATORY TEXT")
                Call DeleteButtons
                Range("D10:F10").ClearContents
                Call UnHideAll
                Call HideCollection
                Call FillDelivery
                Call GIRButtons
                Range("D10").Select
            Case "Collection & Redelivery"
                Range("F6").Value = ("EXPLANATORY TEXT")
                Call DeleteButtons
                Call UnHideAll
                Call HideGoodsIn
                Call ClearDelivery
                Call CRButtons
                Range("H4").Select
            Case "Delivery Only"
                Range("F6").Value = ("EXPLANATORY TEXT")
                Call DeleteButtons
                Call UnHideAll
                Call HideGoodsInCollection
                Call ClearDelivery
                Call DelButtons
                Range("H4").Select
        End Select
    Application.ScreenUpdating = True
    End If
End Sub

随着.Protect UserInterfaceOnly:=True, use AllowFormattingCells:=True。这允许条件格式修改受保护的单元格。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

userinterfaceonly:=true 似乎不允许 VBA 更改条件格式? 的相关文章

  • 如何使用vba复制Excel工作表中的动态范围

    我试图使宏中的范围是动态的 而不指定最后一行x Sheets SheetName Range A2 K1000 Copy在 1000 行中 我想将其更改为动态 因为有时我的数量会更少或更多 尝试这个 Sub Test Dim lRow as
  • 将 MS 转换为秒

    我发现这个公式可以用来将 MS 转换为秒 但它是为 Excel 2002 编写的 而我正在使用 2010 CONCATENATE TEXT INT B1 1000 86400 hh mm ss B1 INT B1 1000 1000 以下是
  • 在 VBA 中捕获 shell 命令的输出值?

    发现这个功能http www cpearson com excel ShellAndWait aspx http www cpearson com excel ShellAndWait aspx 但我还需要捕获 shell 的输出 有什么代
  • 读取上传的Excel文件而不保存它

    在这段代码中 我从用户那里获取上传的文件并将其保存在我的应用程序中的文件夹中 然后对此 Excel 文件进行 OleDbConnection 并读取数据 我的问题是 有人可以建议一种阅读此 Excel 文件的首选方法 但无需预先保存它 因为
  • 数据透视表错误 |无效的调用或过程

    我需要一些帮助来解决这个问题 我正在尝试创建一个数据透视表 从第一季度开始 在同一张表中包含一系列数据 第一个 if 语句在那里是因为最后一列并不总是包含标题 所以我将其包含在那里 我希望范围是动态的 因为所制作的表格的大小将根据工作表中数
  • Excel - 公式或宏根据链接到另一个单元格的另一个单元格填充单元格

    在 Excel 中 我试图根据其他两个单元格中包含的值创建一个单元格 我需要单元格 X 和 Y 来获取基于单元格 L 和 的数据 就像这样 X Y L 1 2 3 4 5 6 A 6 1 1 6 1 6 1 7 1 7 2 7 2 8 1
  • 从Excel工作表中读取汉字? (总是返回“???”)

    如何从Excel单元格中读取汉字并将其写入文件 当我取值时 Worksheets ActiveCell Worksheet Name Cells 3 columnNumbers 0 value 它总是返回 Dim fileStream Fi
  • 生成Excel文件错误

    我在经典 ASP 中使用以下代码生成 Excel 文件 代码很简单并且有效 我在 Windows Vista x86 上的 IIS 7 0 下运行代码 两个问题 有一个奇怪的警告框 这是屏幕快照 http i27 tinypic com 2
  • 调试VBA、定位问题及排查方法[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 有哪些方法调试VBA代码 具体来说 单步执行代码 断点和停止命令 TheDebug command 当地人和观察窗 调用栈 调试 VB
  • 从 X、Y、Z 数据、Excel 或其他工具进行 3D 绘图

    我的数据看起来像这样 1000 13 75 2 1000 21 79 21 1000 29 80 02 5000 29 87 9 5000 37 88 54 5000 45 88 56 10000 29 90 11 10000 37 90
  • Python循环遍历Excel工作表,将工作表名称添加到列表中,然后连接所有

    我正在循环遍历 Excel 工作表并将它们附加到列表中 循环完成后 我使用 Pandas 连接到单个数据帧 我遇到的问题是将工作表名称添加到适当的列表中 infile is a filepath variable xls xlrd open
  • 如何根据单元格的值更改单元格的格式和文本。 (条件格式)

    您好 我想根据单元格的值更改单元格的填充颜色和文本 假设我有以下价值观 我想让它像这样 对我来说 填充颜色很简单 因为我只需执行条件格式即可 然而 文字却让事情变得困难 如何将单元格值更改为文本 如上面的示例 谢谢 为颜色创建条件格式规则
  • 从 VBA 访问串行端口的最佳方法是什么?

    从 VBA 访问串行端口的最佳方法是什么 我需要我们的一些销售代表能够通过 PowerPoint 中的操作按钮通过串行端口发送简单的字符串 我不常用 VBA 尤其是像这样的事情 通常我会把它变成某种应用程序 但实际上我认为这个想法并没有那么
  • Excel VSTO 工作簿新活动

    在 Excel 2007 的一个 Excel 插件项目中 我需要检查创建新工作簿的事件 我还需要捕捉 Workbook Open 事件 我很容易做到这一点 在我在互联网上的研究中 我发现了以下内容 打开任何工作簿时都会引发 Applicat
  • 在 Excel 中查找结果将行复制到另一张工作表

    我需要一些帮助将数据从一个 Excel 工作表复制到另一个 例如 样本数据 A B C 1 aaa bbb ddd 2 bbb ccc eee 2 bbb ccc eee 3 ccc fff rrr 4 ccc fff ttt 5 ddd
  • VBA将二进制图像转换为网页的base64编码字符串

    我正在尝试读取 JPG 文件并将该文件转换为 base64 编码的字符串 该字符串可用作网页上的嵌入 jpeg 我在网上发现了两个在 VBA 中进行 Base64 编码 解码的函数 它们似乎被广泛接受 编码 解码过程产生了我的原始二进制字符
  • 如何在VBA中指定当前目录作为路径?

    我有一个启用宏的工作簿 我需要指定启用宏的文件所在的当前文件夹作为路径 我尝试设置 path ActiveWorkbook Path and path CurDir 但这些都不适合我 对此有什么想法吗 如果您想要的路径是运行宏的工作簿的路径
  • 如何在不使用外部库(如Numpy、Pandas)的情况下读取CSV文件?

    这是面试中经常出现的问题 我知道如何使用读取 csv 文件Pandas 然而 我正在努力寻找一种在不使用外部库的情况下读取文件的方法 Python 是否带有任何可以帮助读取 csv 文件的模块 你最有可能将需要用于读取 CSV 文件的库 虽
  • 使用 VBA 跟踪 Excel 2007/2010 中的样式更改

    我需要跟踪某些工作表中的单元格样式变化 我无法在 Excel 2007 2010 中使用内置跟踪 因为我需要自定义某些内容 我尝试通过 Workbook SheetChange 跟踪样式更改但失败了 当我将单元格从一种样式更改为另一种样式时
  • 使用 EPplus 在 Excel 中添加下拉菜单

    我需要帮助 如何使用 Epplus 在 Excel 中添加下拉列表 无需验证 我只需要把它添加到我的模板中 下拉列表中的记录不是动态的 using ExcelPackage p new ExcelPackage ExcelWorksheet

随机推荐

  • qmake:测试当前规范

    我想检测 qmake 当前是否正在使用 MingW win32 gcc 或 Visual Studio win32 msvc200X 进行构建 目前我正在使用以下结构 windows contains QMAKE CC gcc MingW
  • 按另一个字典对字典进行排序

    我在从字典中制作排序列表时遇到了问题 我有这个清单 list d file name thisfile flt item name box item height 8 7 item width 10 5 item depth 2 2 tex
  • PartialFunction 的 isDefined 和 Apply 中都发生代价高昂的计算

    很可能要知道某个函数是否在某个时刻被定义 必须完成计算其值的重要部分 在一个PartialFunction 执行时isDefined and apply 两种方法都必须这样做 这份普通的工作成本高怎么办 有可能缓存它的结果 希望在isDef
  • Laravel Eloquent 关系分页

    我正在尝试对这样的 Eloquent 关系进行分页 query Product find 1 gt options gt paginate 但我收到以下错误 Fatal error Call to a member function get
  • 闪亮应用程序中的多个 group_by

    我有一个闪亮的应用程序 它需要一个数据框 并应用group by from dplyr 我可以让它接受一个组 但我想要selectInput接受多个分组变量 我可以通过添加另一个来解决这个问题selectInput 然后将其传递给group
  • 下拉列表 Windows Phone 7

    我无法在 Windows Phone 7 上找到下拉列表 我是否遗漏了什么 您可以查看两个选项 它们以移动设备友好的方式实现此类要求 列表选择器 列表选择器 我什至都不认识呃 Windows Phone Toolkit的ListPicker
  • Git:我应该忽略索引还是有一个杀手级应用程序?

    作为一个 Subversion 用户 当我考虑将 git 的索引用于新项目时 它是我面临的最具挑战性的新概念 我读到很多人的评论说他们不使用索引 总是提交 a 但我认为可能有一个致命的原因来解释为什么我想使用它 我与大约 5 名其他开发人员
  • GPS 套接字通信 (CONCOX)

    1 1我有一个 GPS 设备 应该发送 GPRMC 数据 但它需要登录数据包 查看数据表设备数据表 我可以收到登录信息 787811010XXX739050313XXX20200001000E0EAD0D0A IMEI Sart With
  • 我在 XMLHttpRequest 中缺少什么?

    我对 javascript 和 ajax 世界完全陌生 但正在努力学习 现在我正在测试 XMLHttpRequest 但即使是最简单的示例也无法工作 这是我试图运行的代码
  • 为什么你要混淆你的代码?

    您以前曾经混淆过您的代码吗 这样做有正当理由吗 我混淆了我的 JavaScript 它使它更小 从而减少了下载时间 另外 由于代码是交给客户的 所以我的公司不希望他们能够读取它
  • 禁用内置语音识别命令?

    我正在尝试构建能够以自定义方式解释各种文本命令的软件 我使用 System Speech Recognition 并且它的工作效果出奇的好 但我不知道如何绕过这样一个事实 每当我说 删除 关闭 正确 等时 我最终都会得到默认值Windows
  • CSS 悬停在图像上 - 加载 div

    我想对悬停图像做 CSS 效果 当我将鼠标悬停在图像上时 我想显示一个包含文本等内容的 div 所以我想用这段代码做一些事情 div img src image png div div Test message div 我试图在 css 显
  • OpenDJ、OpenAM 和 OpenIAM 是免费软件

    已经使用 OpenDJ 和 OpenAM 的人有什么体验 旧版本似乎可以免费使用 但新版本似乎不能免费使用 它们与现有的商业产品相比如何 它们看起来比使用 OpenLDAP 和 CAS 更好 但看起来并不免费 您可以在下面找到答案 具体取决
  • SonarQube 5.3 后台任务失败且未登录仪表板

    我知道这类似于sonarqube 5 2 后台任务有时会失败且没有日志 但是我无法发表评论 由于缺乏声誉点 来添加更多信息 因此尝试添加这篇文章作为答案 但它被版主删除了 我遇到了问题SonarQube 5 2 昨天升级后现在是 5 3 我
  • 使用 Obj-C 重命名现有文件

    我已经多次看到这个问题 但到目前为止我无法使用任何后期解决方案取得成功 我想做的是重命名应用程序本地存储中的文件 对于 Obj c 来说也是一种新功能 我能够检索旧路径并创建新路径 但是我必须写什么才能真正更改文件名 到目前为止我所拥有的是
  • 无法通过反射设置布尔值

    我无法设置Boolean使用 Java 反射将值赋给字段 字段数据类型为java lang Boolean 但是 如果数据类型是原始类型 我可以设置该值 即boolean 这是一个简单的 VOBoolean类型和原始类型 public cl
  • ASP.NET MVC CMS 数据库中的动态路由

    基本上 我有一个使用 ASP NET MVC 构建的 CMS 后端 现在我正在转向前端站点 并且需要能够根据输入的路由从我的 CMS 数据库加载页面 所以如果用户输入example com students information MVC将
  • Remote_addr 不返回 IPv4 地址

    我在本地主机上使用 xampp 当我使用 SERVER REMOTE ADDR 它返回 1 也在phpinfo 为什么要这样做 我希望它返回一个正常的 IP 地址 如 127 0 0 1 我的操作系统是windows vista 1 is
  • 如何将 Scala 数组传递给 Scala vararg 方法?

    考虑下面的代码 private def test some String private def call val some Array asd zxc test some 它打印expect String found Array Stri
  • userinterfaceonly:=true 似乎不允许 VBA 更改条件格式?

    我正在通过 Worksheet Change 事件运行一段代码 并且让它在事件开始时调用 unprotect sub 并在事件结束时匹配调用 protected sub 这按预期工作 我正在尝试在工作簿打开事件中将保护设置为 userint