【问题标题】:Ho do you hide / highlight rows based on the value cells如何根据值单元格隐藏/突出显示行
【发布时间】:2022-10-23 19:49:01
【问题描述】:

我是 excel 新手,想以编程方式做两件事。

  1. 如果 Code = 0,则隐藏整行

  2. 如果列 I - O = 0,则为行中的所有单元格设置背景和边框

    任何帮助,将不胜感激。提前致谢。

【问题讨论】:

  • 你的工作表是由什么东西生成的吗? (VBA/公式等或手动编辑)隐藏行很容易,但如果您需要添加更多记录,取消隐藏它们可能会很痛苦
  • VLookup 从另一张表中提取所有产品。在另一张表上粘贴产品。数量可能会根据公司是否添加产品而改变。我对此很陌生。

标签: excel


【解决方案1】:

将以下代码放在一个新模块中(VBA 编辑器,插入-> 模块)。

Public Sub ToggleRows()
Dim Sheet As Worksheet
Dim Row As Long
Set Sheet = ThisWorkbook.Worksheets("Sheet1") ' Replace with the name of your worksheet

' Get Row Number of last Row
Row = Sheet.UsedRange.Rows.Count + Sheet.UsedRange.Row - 1

Application.ScreenUpdating = False

While Row > 1 ' (exclude header row)
    ' Hide/Unhide Row depending on value in Column A
    Sheet.Rows(Row).EntireRow.Hidden = IIf(Sheet.Cells(Row, "A").Value = 0, True, False)
    Row = Row - 1
Wend

Application.ScreenUpdating = True
End Sub

复制它后,当您按下“开发人员”选项卡中的“宏”按钮时,列表中应该有一个“ToggleRows”宏。

如果您希望宏自动运行,则需要再添加几行代码。

打开工作表的代码模块并输入以下内容

Private Sub Worksheet_Calculate()
ToggleRows
End Sub

对于问题的第二部分,您应该能够使用条件格式。

有很多方法可以做到,其中一种方法是: 选择 I->O 列并选择新规则从条件格式菜单中,然后选择使用公式确定要格式化的单元格

输入一个公式(下面的示例),然后指定格式。

=IF(SUM(INDIRECT("I"&ROW()&":O"&ROW()))=0,TRUE,FALSE)

如果单元格总和 I-O 等于 0,则应用格式,否则不应用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 2023-04-10
    • 1970-01-01
    • 2015-09-13
    相关资源
    最近更新 更多