|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
本帖最后由 cmo9020 于 2023-4-29 13:52 编辑
请教导师一下,我现在写了一个代码,但是现在只有b列能用
B3单元格是数值区间
执行之后B4列会对B3单元格做比对,如果数值在B3区间会维持不变
若是低于或高于则会粗体+反红
现在延申要让后面每一列都相同,像这样到AZ列,要如何修改?
C4列会对C3单元格做比对
D4列会对D3单元格做比对
E4列会对E3单元格做比对
后面每列都要像这样到AZ列
还是有什么更快的代码可以提供,谢谢各位导师
Sub CompareValues()
' 宣告变量
Dim targetRange As Range
Dim compareRange As Range
Dim cell As Range
Dim targetValue As Double
Dim compareValue As Double
Dim originalFont As Font
Range("B4:AZ100").Font.Bold = False
Range("B4:AZ100").Font.ColorIndex = xlAutomatic
' 设定目标范围和比较范围
Set targetRange = Range("B3")
Set compareRange = Range("B4:B" & Cells(Rows.Count, "B").End(xlUp).Row)
' 读取目标值
targetValue = CDbl(Split(targetRange.Value, "~")(0))
' 遍历比较范围
For Each cell In compareRange
' 如果单元格不是空白的
If Not IsEmpty(cell) And IsNumeric(cell.Value) Then
' 储存原始字体格式
Set originalFont = cell.Font
' 读取比较值
compareValue = CDbl(cell.Value)
' 如果比较值小于或大于目标值
If compareValue < targetValue Or compareValue > CDbl(Split(targetRange.Value, "~")(1)) Then
' 设定字体为粗体和红色
cell.Font.Bold = True
cell.Font.Color = RGB(255, 0, 0)
Else ' 如果比较值在目标范围内
' 恢复原始字体格式
cell.Font.Name = originalFont.Name
cell.Font.Size = originalFont.Size
End If
End If
Next cell
End Sub
|
|