作者:手机用户2502938311 | 来源:互联网 | 2023-08-04 08:35
我创建了一个宏来折叠列,每个月只保留“总计”列。
为了设计目的,我必须在左右相邻的单元格中重复日期和其上方的名称。例如,G,H和I列具有相同的文本,但是尽管它们仍然存在,但我通过使用与背景相同的颜色来隐藏侧面的值。
问题是,当我运行宏以仅显示“总计”列时,我需要查看那些日期和上面的单词,并且为此,我必须更改包含以下内容的单元格上方的这两个单元格的颜色“总计”一词。
我一直在尝试编写一些代码来查找该行(第10行)中带有单词“总计”的单元格,然后更改这些“总计”单元格上方任何两个单元格的字体颜色,但我一直无法使它工作。另外,当我取消隐藏列时,我希望这些字体再次与背景颜色匹配。
我上传了3张图片,因此您可以更好地了解我的需求。非常感谢!!!
这是代码。我必须添加会更改字体颜色的部分:
If ToggleButton21.Value = True Then
Dim z As Range
For Each z In Range("G10:DS10").Cells
If z.Value = "FB" Then
z.EntireColumn.Hidden = True
End If
Next z
Dim x As Range
For Each x In Range("G10:DS10").Cells
If x.Value = "BB" Then
x.EntireColumn.Hidden = True
End If
Next x
Else
Dim d As Range
For Each d In Range("G10:DS10").Cells
If d.Value = "FB" Then
d.EntireColumn.Hidden = False
End If
Next d
Dim y As Range
For Each y In Range("G10:DS10").Cells
If y.Value = "BB" Then
y.EntireColumn.Hidden = False
End If
Next y
End If
End Sub
为使您入门,这是将遍历Column I
的基本代码,如果单元格中包含文本"Total"
,它将resize
和offset
的范围和清除细胞的内部颜色。
For i = 2 To Cells(Rows.Count,9).End(xlUp).Row
If Cells(i,9).Value = "Total" Then
CCells(i,9).Resize(2).Offset(-2).Font.Color = vbYellow
End If
Next i