VBA:根据单元格中的特定值格式化和更改单元格值

时间:2018-08-31 12:41:52

标签: excel vba

如果列中两个连续的单元格为“ #Name”,我希望下面将特定单元格的值更改为“ Rank”

此外,如果该单元格的格式可以为红色,字体颜色为白色,而前一个单元格中的值则为空,而颜色为蓝色,则将很有帮助

这是我写的,但是没有用,非常感谢指导-

Sub FormatRankColmn()
'
' FormatRankColmn Macro
'

'
Dim cell As Range

For Each cell In Range("D1:D250").SpecialCells(xlCellTypeConstants)

If cell.Offset(-1, 0).Value = "#NAME" Then
    If cell.Value = "#Name" Then
        Range(cell).Value = "Rank"
    End If
End If
Next
End Sub

1 个答案:

答案 0 :(得分:1)

您需要检查第一行中的单元格,否则会引发错误(行0中没有单元格):cell.Offset(-1, 0)

我相信这就是你所追求的:

Sub FormatRankColmn()

Dim cell As Range

For Each cell In Range("D1:D250").SpecialCells(xlCellTypeConstants)

If cell.Value = "#NAME" And cell.Row <> 1 Then
    If cell.Offset(-1, 0).Value = "#NAME" Then
        cell.Value = "Rank"
    End If
End If
Next
End Sub