尝试使用百分比数字作为值

时间:2017-11-15 12:06:15

标签: excel vba for-loop

您好我在尝试运行一个循环,将包含0%的所有单元格的值更改为值“N / A”。我写了以下代码:

Dim Fail As Integer
Fail = "0%"
ThisWorkbook.Sheets("Summary").Activate
LastRow = Cells(Rows.Count, "G").End(xlUp).Row
    For X = 22 To LastRow

    If Range("G" & X).Value = Fail Then Range("G" & X).Value = "N/A"
Next X

但它所做的只是它用“N / A”替换G列中的所有值。我哪里做错了?

2 个答案:

答案 0 :(得分:2)

在您的范围内使用简单的替换声明。

Worksheets("Summary").Range("G22:G1000").Replace What:="0%", Replacement:="NA"

答案 1 :(得分:1)

字符“%”不能存在于整数范围内。调暗整数时,只能使用整数。 Source

您的问题在Fail = "0%"内,excel会自动将包含%的所有单元格的格式更改为百分比。因此,您需要做的是将Fail = "0%"更改为Fail = "0"

请参阅下面的最终代码:

Dim Fail As Integer
Fail = "0"
ThisWorkbook.Sheets("Summary").Activate
LastRow = Cells(Rows.Count, "G").End(xlUp).Row
    For X = 22 To LastRow

    If Range("G" & X).Value = Fail Then Range("G" & X).Value = "N/A"
Next X