2016-03-01 70 views
0

我需要用字符串填充一些特定范围内的空白单元格,例如“绿色”不幸的是,我不知道最后一行的号码,因为这可能不会填充,并且可能每次更改运行脚本,因为我将数据从一个工作表拖到另一个工作表中。用字符串内容替换空白单元格

我正在寻找列上的最后一行数据,我知道这个单元格中总是有数据,这是我正在运行的脚本的一部分,我正在寻找一个空单元格并用“绿色”这个词取而代之。我没有得到任何错误,它只是不起作用,所以不知道我的逻辑出错了。

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


With Range("AS22:AU" & LastRow) 

     .Replace what:=" ", Replacement:="Greens" 

End With 
+0

@ScottCraner没有工作,仍然没有得到任何东西 – user3088476

回答

1

取而代之,

.Replace what:=" ", Replacement:="Greens" 

使用此;

.Replace what:="", Replacement:="Greens" 

如果您的单元格包含虚假空白,请使用此之前;

Columns("AS:AU").TextToColumns Destination:=Range("AS1"), DataType:=xlFixedWidth, FieldInfo:=Array(1, 1) 
+0

这不起作用。 使用此; 。替换:=“”,替换:=“绿色” – user3088476

1

您的代码正在寻找单个空间而不是完全空的单元格。试试:

Dim r as range 
LastRow = Cells(Rows.Count, 2).End(xlUp).Row 

For each r in Range("AS22:AU" & LastRow) 
    if r.value2 = vbnullstring then r.value2 = "Greens" 
Next r 
+0

我已经尝试了这一点,并使用你的代码时,我得到一个编译错误。它不喜欢End With。我试过Exit For,但似乎也不喜欢这个。有什么建议么?? – user3088476

+0

对不起,我的坏。这应该是“下一个r”,而不是“结束”。我编辑了我的答案以反映这一点。 – Toast

0

刚刚得到的空白单元格:

LastRow = Cells(Rows.Count, 2).End(xlUp).Row 
Range("AS22:AU" & LastRow).SpecialCells(xlCellTypeBlanks).Value = "Green"