可以根据另一个单元格的值锁定单元格范围吗?

2024-02-23

我正在使用跟踪器来测试新的更改以及何时测试。如果新更改不适用,我不想删除它,我想禁用(并变灰)所有可用于选择完成日期的单元格。但仅限于该行。我尝试过使用以下方法,但没有任何运气:

  1. 工作表上的条件格式
  2. 进行更改时执行的 VBA 代码
  3. 数据验证(认为这是可能的,但我不熟悉它的实际工作原理)

这是我的代码:

 Private Sub worksheet_change(ByVal Target As Range)

     Dim keycells As Range

     Set keycells = Range("G:G")

     lastcol = CInt(Sheet1.Cells(1,Sheet1.Columns.Count).End(xlToLeft).Column)

     If Not Application.Intersect(keycells, Range(Target.Address)) Is Nothing Then
         r = Range(Target.Address).Row
         MsgBox "There was a change"
         If Range(Target.Address).Value = "N/A" Then
             MsgBox "we got this far"
             Range("H" & r & ":" & Cells(r, lastcol).Address).Locked = True
         End If

     End If

End Sub

两个消息框都会显示,但单元格不会锁定。所以我尝试解锁所有单元格,然后保护纸张。然后我将某些内容设置为“N/A”并收到错误“无法设置范围类的锁定属性”。

Here is an idea of what my data looks like: enter image description here

提前致谢!


Well, 社区 https://stackoverflow.com/users/-1/community一直坚持(几天来)我看看这个问题,无情地将它推到我的“相关”队列的顶部,可能是因为它被标记为前 4 个标签,and从技术上讲它没有答案。

非常抱歉Moacir https://stackoverflow.com/users/7086396/moacir,我刷一下你的“评论答案”:


  1. 让它受到保护,

  2. do Worksheet.Unprotect,

  3. 运行你的代码(并且Worksheet.Protect) 在那之后。


更多信息:

  • 微软:工作表.保护方法 https://msdn.microsoft.com/en-us/vba/excel-vba/articles/worksheet-protect-method-excel (Excel)

  • 微软:工作表.取消保护方法 https://msdn.microsoft.com/en-us/vba/excel-vba/articles/worksheet-unprotect-method-excel (Excel)

  • S.O. : 如何保护 Excel 中的单元格但允许通过 VBA 脚本修改它们 https://stackoverflow.com/questions/125449/how-to-protect-cells-in-excel-but-allow-these-to-be-modified-by-vba-script

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

可以根据另一个单元格的值锁定单元格范围吗? 的相关文章

  • 如何从 Outlook 的“收件人”字段中提取电子邮件地址?

    我在某种程度上一直在使用 VBA 使用以下代码 Sub ExtractEmail Dim OlApp As Outlook Application Dim Mailobject As Object Dim Email As String D
  • 从VBA中的数组批量插入到sql中

    我正在尝试在 Excel 中构建一个按钮 将所选区域上传到 SQL Server 中的表中 第一行将自动视为列标题 这件事该怎么继续下去呢 我想要的是简单和超快的上传 这是我的想法 我将选择选定的区域 然后将其保存为 txt 文件 然后对其
  • 如何获取 pandas 数据框并覆盖 Excel 工作簿中的特定工作表

    我想获取一个数据框并让它替换特定工作表中的现有数据 假设为sheet1 然后我想获取另一个数据框并将其附加到另一张工作表上的数据 比如说同一工作簿中的sheet2 目前 我必须将数据写入新的 Excel 工作簿 我无法在线找到如何实际替换我
  • 消除多个 Elseif 语句

    我试图保持我的代码干净 特别是在用户表单中使用组合框 可能会有很多 if Elseif 语句 应该有一种更简单的方法 让一个组合框不再需要多页代码 是吗 现在如何完成的示例 Sub Example Dim Variable as Strin
  • 为什么在 Excel for Mac 中使用 VBA 的输入框不显示提示文本?

    我一直在构建一个使用 Excel 跟踪学生成绩的系统 我在 Windows 下编写了它 一切正常 但是当我在 Mac 版本的 Excel 最新版 本 15 24 我相信 上测试它时 InputBoxes 只显示输入数据的标题和文本框 不显示
  • 在Excel中显示毫秒

    我正在尝试在 Excel 宏中显示毫秒 我有一列整数 它们是以毫秒为单位的时间戳 例如 28095200 是上午 7 48 15 200 我想在它旁边创建一个新列 以保持运行平均值并以hh mm ss 000格式 Dim Cel As Ra
  • 查看 Excel 是否处于 .NET 中的单元格编辑模式的解决方法

    我有一个用 VB NET 编写的应用程序 它通过互操作与 Excel 进行交互 我最终遇到了单元格编辑模式的已知问题 请参阅 and 堆栈溢出 https stackoverflow com questions 221984 how to
  • 使用 C# 在 Excel 中查找和替换文本

    我想使用 C 在 Excel 中查找并替换一组文本 而且我希望此替换仅发生在第一行中的文本 我已经使用Google并找到了一些付费资源 例如Aspose API Spire Xls等 但我正在寻找开源资源或任何其他有效的方法来实现这一目标
  • VB:在 Adob​​e Illustrator、Photoshop 中分配给布尔属性

    在使用 VBA 自动化 Adob e Illustrator CS3 时 我发现分配一个布尔变量 to a 布尔属性结果总是分配 False Dim New Path As Illustrator PathItem Dim v As Boo
  • 以独立于区域设置的方式读取 Excel 文件

    我使用以下代码从各种 Excel 文件读取数据 IMEX 1 to force strings on mixed data HDR NO to process all the available data Locale 1033 is en
  • 自动计算Excel VBA UDF与单元格属性相关

    我编写了一个 UDF 来计算特定颜色和特定线条样式的单元格 我发布了整个函数 Function CountTime rData As Range cellRefColor As Range As Variant Dim indRefColo
  • VBA 写入文件时对数值进行四舍五入 - 如何防止?

    在下面的代码中 我在确保文件编写器不会将我的数字四舍五入到一定的小数位数时遇到问题 我需要使用变体 因为有时该值是字符串 有时它是数字 我怎样才能强制它准确地写出变量是什么 例如 下面的代码可能显示 0 00038 我想显示确切的值 Dim
  • 使用 Excel 2010 通过存储过程读取/写入 SQL Server 2008 数据库

    我们有一个 SQL Server 2008 数据库 它有存储过程来处理读 写等 这些过程由各种应用程序内部使用 需要一个人直接更新数据库中名为 Employee 的表 更新非常简单 更新 VARCHAR 和 INT 外键 字段 问题是 Sh
  • 我可以通过 vba 设置 Excel Power Query 的用户名和密码吗?

    我正在尝试设置一个电子表格 供其他人使用 通过 Power Query 更新表 当另一个用户使用电子表格时 他们会被要求 3 次输入用户名和密码 因为我有 3 个表正在更新 如何通过 VBA 为每个用户设置这些 我尝试将连接设置为匿名 但他
  • Excel:查找和替换宏 - 仅一列

    我编写了一些宏来将大量数据格式化为相同的可接受格式 我们从中提取的程序拒绝按照我们想要的方式提取数据 但理论上在 Excel 中更改并不难 它设置运行的方式是为修饰符使用单独的宏 然后使用 全部运行 宏来调用所有修饰符 目前我有 Sub R
  • 在 VBA 中从范围创建数组

    我遇到了一个看似基本的问题 但找不到任何资源来解决它 简而言之 我只想将一系列单元格 所有一列 的内容加载到数组中 我能够通过以下方式完成此任务 DirArray Array Range A1 Range A2 但由于某种原因 我无法以这种
  • 如何通过VBA宏遍历Word文档中的文本

    我想通过宏来计算 Word 文档中的字符 我不知道如何获取 Visual Basic 宏中文本的两个参考并浏览它 我想计算文档中每个字符的数量 例如文档中 ABZBB A x 1 B x 3 Z x 1 Sub Macro1 Dim Box
  • 在 Excel VBA 中,如何访问存储在已安装的加载项中的子项?

    我已经创建了一个 Excel 加载项 该加载项中有一些模块 假设 module1 是其中之一 在 module1 中 我有一个 sub 声明为 public sub abc end sub 在我的工作簿中 我希望能够使用外接程序中定义的函数
  • 检查工作表是否存在,如果不存在则创建-VBA [重复]

    这个问题在这里已经有答案了 我已经测试了许多代码 这些代码检查工作表是否存在 基于名称 如果不存在则创建一个 其中一些循环所有工作表 一些引用工作表 如果创建错误则意味着该工作表不存在 哪一种是最合适的 正统的 更快的方式来完成这个任务 目
  • VBA MS-Word:是否可以用通配符替换文本?

    是否可以替换使用通配符找到的文本并将其也替换为通配符 例如FindText 13 2 13 Forward True MatchWildcards True 然后用这样的通配符替换它replacewith 13 2 11 是否可以 评论中的

随机推荐

  • 如何跳过空格但将其用作解析器组合器中的标记分隔符

    我正在尝试构建一个小型解析器 其中标记 幸运的是 从不包含空格 空白 空格 制表符和换行符 本质上是标记分隔符 除了有括号等的情况 我正在延长RegexParsers班级 如果我打开skipWhitespace当下一个标记与前一个标记的正则
  • GCC/X86,相对跳转问题

    我正在尝试在 x86 程序集中进行相对跳转 但是我无法让它工作 似乎由于某种原因 我的跳跃不断被重写为绝对跳跃或其他东西 我想做的一个简单的示例程序是这样的 global main main jmp 0x4 ret 由于 jmp 指令有 4
  • 为什么使用 WebRequest 发送 post 数据需要这么长时间?

    我目前正在创建一个 C 应用程序来绑定到 php MySQL 在线系统 应用程序需要将发布数据发送到脚本并获取响应 当我发送以下数据时 username test password test 我收到以下回复 Starting request
  • .png 动画在 spritekit 中性能缓慢

    我的项目中有一个 png 动画 包含 700 张图片 尺寸为 150 像素 x 150 像素 它工作正常 但每次动画开始时 整个游戏都会冻结约 0 1 秒 喜欢它的加载 但我在 initWithSize 中实现了 png 数组 像这样 SK
  • Bash 查找并移动名称中带有“[ ]”的文件

    我正在制作的 bash 脚本的一部分涉及 rar 分割文件 然后在完成后将分割文件移动到另一个目录 因此 如果我有一个像 test file txt 这样的文件 它首先会被 rarred 为 test file txt part1 rar
  • NumPy 排序函数返回 None

    我有一个简单的程序如下 import numpy as np arr np random randn 8 new arr sort new1 np sort arr print new print new1 我希望这两个新数组是相同的排序数
  • 计算值出现的次数

    我有一列带有重复值的文本值 我想创建一个新的唯一值列 无重复 和一个包含每个值的频率的列 最简单的方法是什么 由于行数不足 10 000 因此效率并不是太重要 为了得到答案而不是评论 请将列 例如 A 复制到 B 例如 并且仅对于 B 数据
  • 无法调用 UnsafeMutablePointer 类型的初始值设定项

    我正在尝试将字符串转换为 SHA256 哈希值 但出现下一个错误 Cannot invoke initializer for type UnsafeMutablePointer
  • 在 Eclipse 中调试 Playframework

    我刚刚从 Netbeans 迁移到 Eclipse 在 Netbeans 中 我可以开箱即用地调试 Playframework 应用程序 然而 在 Eclipse 中 似乎很难配置它来调试 Web 应用程序 具体来说是 Playframew
  • 如何点击 Selenium WebDriver 中的隐藏元素?

    我有一个显示一些记录的网格 当我单击一条记录并检查该元素时 显示它是隐藏的 但在网格中可见 我的 HTML 是 a href http 192 168 1 6 eprint prod 3 8 settings othercost add a
  • 如何更新到 mingw-gcc 4.8.2?

    我想在 c 11 中使用正则表达式 gcc 4 8 2 支持它 但 MinGW 安装程序最高仅支持 gcc 4 8 1 如何将其更新到 gcc 4 8 2 您可以自己手动安装 有一个 MinGW w64 发行版4 8 2 可在此处获取 ht
  • 赋值语句中的“others=>'0'”是什么意思?

    cmd register process rst n clk begin if rst n 0 then cmd r lt others gt 0 elsif clk event and clk 1 then cmd r lt end if
  • 如何命名 Rails 中的路线

    我有一些看起来像这样的路线 match hotels action id controller gt hotel action gt a z i id gt 0 9 i 我想用类似的东西酒店 不喜欢 路径我的代码中的某处引用了 hotels
  • 如何使用 Javascript 找出短 URL 指向的位置

    我创建了一个短网址 比如说https my short link foo 即指向https my other website bar 如何在浏览器中使用 javascript 方法检索此 url 我使用的是角度 这将取决于如何my shor
  • 删除 Facebook 评论插件下方的空白

    看看这个链接 http www equispot com horses for sale 416 向下滚动一点 您应该会看到一个 Facebook 评论插件 其下方嵌入了 Google 地图 我的问题是 评论插件的底部和地图的顶部之间有大量
  • FileInputStream 如何获取 File 的内容?

    我有一个文件f我需要把它影响成FileInputStream fs File f new File C dir foo txt FileInputStream fs FileInputStream f 但我收到这个错误 Cannot cas
  • 从 1.5 更新到 Android Studio 2.0 后,ndk 语法高亮不起作用或可能被破坏

    编辑器窗口中 C C 代码的语法突出显示在 AS 1 5 中运行良好 但从 AS 1 5 更新到 2 0 后 即使使用示例 HelloJNI 项目也无法正常工作 尝试使用保存的设置 重置默认设置以及全新下载和安装 AS 2 0 但没有任何效
  • 如何将 Assetic 用于 requireJs

    我正在尝试在 synfony2 项目中使用 require js 这是主树枝文件中的代码 文件vendor js require js已正确加载 但对于文件bundles web js main js我收到消息 未捕获的错误 模块加载超时
  • NextJS 动态路由与模态重新加载导致覆盖背景消失

    我有一个非常简单的 NextJS 应用程序 打开页面将更新 URL 但不会触发导航 而是在模式中显示内容 URL 仍然反映实际页面位置 任何刷新都会将用户带到那里 当模式打开时 我仍然希望保留页面上的原始内容在背景中淡出 并且模式应该出现在
  • 可以根据另一个单元格的值锁定单元格范围吗?

    我正在使用跟踪器来测试新的更改以及何时测试 如果新更改不适用 我不想删除它 我想禁用 并变灰 所有可用于选择完成日期的单元格 但仅限于该行 我尝试过使用以下方法 但没有任何运气 工作表上的条件格式 进行更改时执行的 VBA 代码 数据验证