2016-03-01 69 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"