多个单元格范围作为值

VBA*_*KOD 2 excel vba excel-vba

我是VBA的新手,请原谅我的无知:)

我在编写(和理解)为什么我的代码不能在VBA中工作时遇到问题.我试图引用多个细胞.我的代码读了

    If sheet4.range("G2:G26").value = "" Then
        Sheet4.range("G2:G26").value = "No Gas"
           Exit Sub
               End If
    End Sub
Run Code Online (Sandbox Code Playgroud)

我知道我不能使用多个单元格作为值,但我如何编写代码?另外,为什么我不能使用多个单元格作为值?谢谢大家的帮助

Sco*_*ner 5

您可以一次为多个单元格分配值:

Sheet4.range("G2:G26").value = "No Gas"
Run Code Online (Sandbox Code Playgroud)

将放入No Gas范围内的每个单元格.

您无法针对一个值测试整个范围,因为它是一个数组,并且该数组不等于单个值.

你可以迭代:

Dim cell As Range
For Each cell in Sheet4.range("G2:G26")
    If cell = "" then
        cell = "No Gas"
    End IF
Next cell
Run Code Online (Sandbox Code Playgroud)

或者你可以选择所有空白的并一次填写:

Sheet4.range("G2:G26").SpecialCells(xlCellTypeBlanks) = "No Gas"
Run Code Online (Sandbox Code Playgroud)