如何将一个单元格设置为0(如果其空白且另一个单元格有数据)

Dan*_*anM 1 excel vba

所以我有这段代码,我想做的是以下内容:

如果Range("aj61:aj432")为空白且Range("F61:F432")包含文本,则将空白单元格设置为0

这是我尝试过但类型不匹配的

Sub Insert_0()
    Dim rng As Range
    Set rng = Range("AJ61:AJ432")
    If IsEmpty(rng) And rng.Offset(-30, 0) <> "" Then rng.Value = 0
End Sub
Run Code Online (Sandbox Code Playgroud)

小智 6

使用SpecialCells捕获F列中的文本值与AJ列中的空白值相交的行。

Option Explicit

Sub Insert_0()

    Dim rng As Range

    On Error Resume Next
    Set rng = Intersect(Range("F61:F432").SpecialCells(xlCellTypeConstants, xlTextValues).EntireRow, _
                        Range("AJ61:AJ432").SpecialCells(xlCellTypeBlanks))
    On Error GoTo 0

    If Not rng Is Nothing Then
        rng = 0
    Else
        Debug.Print Err.Number & ": " & Err.Description
        On Error GoTo -1
    End If

End Sub
Run Code Online (Sandbox Code Playgroud)