列值更改时删除线关联的单元格

布赖恩·凯茨(Brianna Cates)



我有一个包含三列的excel工作表:
雇员编号
雇员姓名
可用性

我想做的是,当可用性值从数字变为无时,雇员编号与该行关联雇员姓名得到删除线。
同样,添加可用性编号后,删除线也会消失。
我在下面编写了一些代码,但是我不知道我是否朝着正确的方向前进。

Sub change(ByVal Target As Range)
Dim ws As Worksheet
Dim watchrange As Range
dim intersectrange as range

Set ws = Worksheets("Workbench Report")

endrow = ws.Cells(ws.Rows.count, "E").End(xlUp).Row

Set watchrange = Range("E2:E" & endrow)
Set intersectrange = Intersect(Target, watchrange)
If intersectrange = "" Then
ws.Range("B" & rng.Row).Resize(1, 2).Font.Strikethrough = True
Else
'do nothing
End If

End Sub

有人可以帮我吗?

先感谢您

加里的学生

带有如下数据:

在此处输入图片说明

此工作表事件宏:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim watchrange As Range, r As Range, rw As Long
    Dim intersectrange As Range, endrow As Long

    endrow = Cells(Rows.Count, "A").End(xlUp).Row
    Set watchrange = Range("C2:C" & endrow)
    Set intersectrange = Intersect(Target, watchrange)
    If intersectrange Is Nothing Then Exit Sub

    For Each r In intersectrange
        rw = r.Row
        If r.Value = "" Then
            Range("A" & rw & ":B" & rw).Font.Strikethrough = True
        Else
            Range("A" & rw & ":B" & rw).Font.Strikethrough = False
        End If
    Next r
End Sub

会满足您的需求。您需要调整列以匹配您的数据模式。

由于它是工作表代码,因此非常易于安装和自动使用:

  1. 右键单击Excel窗口底部附近的选项卡名称
  2. 选择查看代码-这将打开一个VBE窗口
  3. 将内容粘贴并关闭VBE窗口

如果您有任何疑问,请先在试用版工作表上进行尝试。

如果您保存工作簿,则宏将随其一起保存。如果您在2003年以后使用Excel版本,则必须将文件另存为.xlsm而不是.xlsx

删除宏:

  1. 如上调出VBE窗口
  2. 清除代码
  3. 关闭VBE窗口

要了解有关事件宏(工作表代码)的更多信息,请参见:

http://www.mvps.org/dmcritchie/excel/event.htm

编辑#1:

该代码由对C列的更改触发,并驻留在该工作表的工作表代码区域中。

如果您的按钮代码更改了这些列C的值,则此事件代码将与之一起使用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

单元格值更改时VBA不运行

来自分类Dev

仅当单元格值更改时,如何执行指令?

来自分类Dev

当单元格值更改时,然后运行宏

来自分类Dev

当单元格值更改时,将单元格值更改的列复制到同一范围内的另一个工作表

来自分类Dev

如何在DHTMLX中更改时间线单元格的列宽-Scheduler .NET

来自分类Dev

根据不同列中的值更改单元格背景

来自分类Dev

RadGridView中单元格的值更改时如何触发事件?

来自分类Dev

单元格中的值更改时,将数据插入同一行

来自分类Dev

范围中任何单元格中的值更改时自动运行Excel VBA

来自分类Dev

值更改时将更新/时间戳记入单元格

来自分类Dev

强制Excel公式在不相关的单元格值更改时更新

来自分类Dev

单元格样式绑定不会在值更改时更新

来自分类Dev

单元格值更改时刷新特定的数据透视表

来自分类Dev

在单元格值更改时自动触发宏 |Excel|VBA|

来自分类Dev

当单元格值更改时更新下拉菜单 (Excel)

来自分类Dev

DataGridView单元格值更改

来自分类Dev

DataGridView单元格值更改

来自分类Dev

我想在第一个单元格值更改时更改表其他单元格值

来自分类Dev

当我在单元格 A1 中进行任何更改时,如何将单元格 A2 的值更改为“Today()”?

来自分类Dev

jqgrid在另一个单元格更改时更改可编辑单元格的值(相关列)

来自分类Dev

当用户仍在键入单元格并且单元格值更改时,Excel引发异常HRESULT:0x800A03EC

来自分类Dev

单元格值更改时使用多个工作表选项卡发送电子邮件通知

来自分类Dev

ag在单元格值更改上更改网格颜色

来自分类Dev

默认文本更改时,Excel更改单元格颜色

来自分类Dev

extjs根据值更改网格单元格背景

来自分类Dev

WPF DataGrid单元格值更改事件

来自分类Dev

WPF DataGrid的结构-根据值更改单元格

来自分类Dev

对单元格值更改的Datagridview重新排序

来自分类Dev

当单元格值更改为是时,Excel弹出框

Related 相关文章

  1. 1

    单元格值更改时VBA不运行

  2. 2

    仅当单元格值更改时,如何执行指令?

  3. 3

    当单元格值更改时,然后运行宏

  4. 4

    当单元格值更改时,将单元格值更改的列复制到同一范围内的另一个工作表

  5. 5

    如何在DHTMLX中更改时间线单元格的列宽-Scheduler .NET

  6. 6

    根据不同列中的值更改单元格背景

  7. 7

    RadGridView中单元格的值更改时如何触发事件?

  8. 8

    单元格中的值更改时,将数据插入同一行

  9. 9

    范围中任何单元格中的值更改时自动运行Excel VBA

  10. 10

    值更改时将更新/时间戳记入单元格

  11. 11

    强制Excel公式在不相关的单元格值更改时更新

  12. 12

    单元格样式绑定不会在值更改时更新

  13. 13

    单元格值更改时刷新特定的数据透视表

  14. 14

    在单元格值更改时自动触发宏 |Excel|VBA|

  15. 15

    当单元格值更改时更新下拉菜单 (Excel)

  16. 16

    DataGridView单元格值更改

  17. 17

    DataGridView单元格值更改

  18. 18

    我想在第一个单元格值更改时更改表其他单元格值

  19. 19

    当我在单元格 A1 中进行任何更改时,如何将单元格 A2 的值更改为“Today()”?

  20. 20

    jqgrid在另一个单元格更改时更改可编辑单元格的值(相关列)

  21. 21

    当用户仍在键入单元格并且单元格值更改时,Excel引发异常HRESULT:0x800A03EC

  22. 22

    单元格值更改时使用多个工作表选项卡发送电子邮件通知

  23. 23

    ag在单元格值更改上更改网格颜色

  24. 24

    默认文本更改时,Excel更改单元格颜色

  25. 25

    extjs根据值更改网格单元格背景

  26. 26

    WPF DataGrid单元格值更改事件

  27. 27

    WPF DataGrid的结构-根据值更改单元格

  28. 28

    对单元格值更改的Datagridview重新排序

  29. 29

    当单元格值更改为是时,Excel弹出框

热门标签

归档