2017-02-20 4 views
0

次のコードに問題があります。範囲(AK2からデータの終わりまで)をループし、空のセルが見つかるたびにその値を売掛金に変更します。それをやっていない、私はまた、任意のエラー通知を取得しないでください。任意のアイデア範囲をループして空のセルを見つける

Option Explicit 

Private Sub Leere() 

Dim rng As range 
Dim rcell As range 
Dim WS As Worksheet 

Set WS = Worksheets("Sheet2") 

Set rng = WS.range("AK2", range("AK2").End(xlDown)) 

For Each rcell In rng 
    If rcell.Value = " " Then 
      rcell.Value = "Accounts Receivable" 
    End If 
Next 
End Sub 

:私の推測では - 私は、変数を設定すると間違って何かをやっていることですか?別の非VBAオプションは空白のセルに条件付き書式することができ

Set ws = ThisWorkbook.Worksheets("Sheet2") 

Set rng = ws.Range("AK2", ws.Cells(ws.Rows.Count, "AK").End(xlUp)) 

rng.Replace "", "Accounts Receivable", xlWhole 

:あなたはこのような何かを空の(式)細胞を交換しないことができるはずです

+2

空白を見つけるには、.value = ""ではなく ".value =" "(テイクアウト) – Zerk

+0

うわー、それだけでした!ありがとう – Urumita

+0

どのようにisempty(rcell)で動作するでしょうか? – Urumita

答えて

2

使用SpecialCells()

With ws 
    .Range("AK2", .Cells(.Rows.Count, "AK").End(xlUp)).SpecialCells(XlCellType.xlCellTypeBlanks).Value = "Accounts Receivable" 
End With 
+1

他の人のためのメモとして、 'SpecialCells'はセルが見つからなければエラーになりますが、オプションの' On Error Resume Next'を使用してそれらのケースを無視します。 – Slai

+0

@Slai、細かい追加。ありがとう – user3598756

+0

@Urumita、あなたはそれを通過しましたか? – user3598756

0

。セルの値は空白になりますが、表示されるテキストの変更は動的になります。

関連する問題