首页 文章

VBA通过公式更改单元格值时自动运行宏

提问于
浏览
0

我需要帮助为我的工作簿使用宏 . 基本上我有一些行被另一个宏自动添加 . 每次添加新行时,如果公式,相应列的结果为True / False . 当单元格的“False”结果自动更新为“True”时,我希望同一行以颜色突出显示,只有这一行 . 为了进一步解释,

  • 范围("B3:K3")是单元格("O3")数据更改为"True"时要突出显示的行

  • 我有多行,当列"O"的特定单元格通过If公式从False变为True时,我需要此宏自动运行

  • 我还有另一个宏在列表中添加了一行,所以我不能使用条件格式

因此,当单元格(“O19”)自动更改时,有时我希望范围(“B19:K19”)突出显示 . 要记住一些事情

  • 我使用的"auto refresh time clock"基本上链接到单元格("S11")

  • 换句话说,列O中的单元格说(如果列G中的相应单元格[这是输入任务的日期]与当前时间(单元格"S11")相比超过24小时,则将值从False更改为真正 .

我唯一的问题是,我似乎无法获得一个有效的宏,它会突出显示False / True数据来源的行[范围(B3:K3)] [列O上的相应单元格] .

谁能帮我这个?

编辑这是我想要完成的,但无法让它工作 .

Private Sub Worksheet_change(ByVal Target As Range) 
Dim Cl As Range
Dim R As Long
Set Cl = TargetAddress
R = Cl.Row

If Target.Address(, "O") = True Then
Target.Range("B" & R, Range("K" & R)).Interior.ColorIndex = 10
Else: Range("B5:K5").Interior.ColorIndex = 1
End If

结束子

1 回答

  • 0

    我认为条件格式化可以满足您的要求 .

    为简单起见,我假设工作表中只有3列和10行 . 列A是要突出显示的列,列C是具有True / False值的列 . 首先,选择a1:a10,单击条件格式,然后单击新规则 . 在下一个窗口中单击“使用公式确定要格式化的单元格”,然后在公式字段中键入= C1 = True . 单击右下角的“格式”底部选择所需的颜色,单击“确定”完成作业 .

相关问题