热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

VBA代码可根据相邻的单元格值和单元格背景来更改字体颜色

我创建了一个宏来折叠列,每个月只保留“总计”列。为了设计目的,我必须在

我创建了一个宏来折叠列,每个月只保留“总计”列。
为了设计目的,我必须在左右相邻的单元格中重复日期和其上方的名称。例如,G,H和I列具有相同的文本,但是尽管它们仍然存在,但我通过使用与背景相同的颜色来隐藏侧面的值。
问题是,当我运行宏以仅显示“总计”列时,我需要查看那些日期和上面的单词,并且为此,我必须更改包含以下内容的单元格上方的这两个单元格的颜色“总计”一词。

我一直在尝试编写一些代码来查找该行(第10行)中带有单词“总计”的单元格,然后更改这些“总计”单元格上方任何两个单元格的字体颜色,但我一直无法使它工作。另外,当我取消隐藏列时,我希望这些字体再次与背景颜色匹配。

我上传了3张图片,因此您可以更好地了解我的需求。非常感谢!!!

VBA代码可根据相邻的单元格值和单元格背景来更改字体颜色

VBA代码可根据相邻的单元格值和单元格背景来更改字体颜色

VBA代码可根据相邻的单元格值和单元格背景来更改字体颜色

这是代码。我必须添加会更改字体颜色的部分:

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",它将resizeoffset的范围和清除细胞的内部颜色。

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

推荐阅读
author-avatar
手机用户2502938311
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有