根据公式值格式化单元格

时间:2013-06-03 19:26:05

标签: excel excel-vba vba

我的数据包含Peer(3)

我使用VALUE(LEFT(RIGHT(F2,2)))

获取号码

然后我想给单元格一个我正在尝试的颜色,但是没有工作我得到类型不匹配,已经尝试了几个小时并且没有在哪里。

由于

Sub Format()

Dim LastRow As Long
Dim WS As Worksheet

Set WS = Sheets("sheet1")

LastRow = WS.range("F" & WS.Rows.Count).End(xlUp).Row

If WS.range("F2:F" & LastRow).Formula = "=Value(Left(Right(F2, 2)))" < 3 Then cell.Interior.ColorIndex = 10

End Sub

2 个答案:

答案 0 :(得分:3)

也许

Sub Format()

Dim LastRow As Long
Dim WS As Worksheet
dim rCell as range

Set WS = Sheets("sheet1")

LastRow = WS.range("F" & WS.Rows.Count).End(xlUp).Row

for each rcell in WS.range("F2:F" & LastRow).cells
 if clng(Left(Right(rcell.value, 2), 1)) < 3 Then rcell.Interior.ColorIndex = 10
next rcell
End Sub

答案 1 :(得分:0)

不使用VBA,而是使用条件格式。

例如 假设从F1到F10的单元格包含Peer(2),Peer(3),Peer(1)等值。

  1. 选择范围F1到F10(或任何要格式化的单元格)
  2. 在功能区上,单击“条件格式” - &gt; “新规”
  3. 选择“使用公式确定要格式化的单元格”
  4. 假设活动单元格为F1,请键入公式=VALUE(LEFT(RIGHT(F1,2))) < 3
  5. 点击“格式化”按钮,转到“填充”标签,点击“更多颜色”,“自定义”标签。
  6. 将128为绿色,0为红色和蓝色。
  7. 单击“确定”直到对话框关闭。
  8. 希望有所帮助。