用字符串值

时间:2016-03-02 12:06:04

标签: excel vba excel-vba vbscript

希望有人可以提供帮助。我需要使用特定字符串填充一系列单元格中的任何空白/空单元格。我也不知道最后一行会在那个范围内,所以我首先要找到它,我知道这行代码可以正常运行,因为我已将它用于脚本中的另一个函数。以下是我正在使用的代码: -

    LastRow = Cells(Rows.Count, 2).End(xlUp).Row

    For Each r In Range("AS22:AU" & LastRow)
        If r.Value2 = vbNullString Then
            r.Value2 = "Greens"
        End If
    Next

当我运行代码时,我似乎没有得到任何编译错误,它只是不起作用,我仍然有相同的空白/空单元格。

任何人都可以解释我做错了吗?

3 个答案:

答案 0 :(得分:2)

您可以使用范围.Replace Method。它会快得多。

Range("AS22:AU" & LastRow).Replace "", "Greens", xlWhole

答案 1 :(得分:2)

怎么样:

Sub dural()
    Dim r As Range, LastRow As Long

    LastRow = Cells(Rows.Count, 2).End(xlUp).Row
    For Each r In Range("AS22:AU" & LastRow)
        If r.Text = "" Then r.Value = "Greens"
    Next r
End Sub

这会改变:

  • 真正的空单元
  • 包含返回 Null
  • 的公式的单元格
  • 包含 Null 字符作为常量
  • 的单元格

答案 2 :(得分:0)

使用IsEmpty()测试空白。

    If IsEmpty(r.Value2) Or Trim(r.Value2) = "" Then
        r.Value2 = "Greens"
    End If

还要注意具有零长度字符串或空格的单元格。它们看似空洞但事实上并非如此。