2015-10-14 147 views
-1

我正在尋找使用佔位符(即0)填充B列中缺少數據的單元,以便它們不會被我的其他宏刪除。我希望有一些VBA代碼可以模擬以下公式並將其應用於所有行:填充特定的空單元格

= IF(B2 =「」,IF(COUNT(C2:I2)> 0,0,「」 ),「」)

我希望此公式的結果進入列B(上例中的單元格B2)。此公式的目的是僅在列C中包含佔位符值時,如果列C:I中至少有一個單元格有數字。

任何幫助/改進都非常感謝!

編輯:我一直在努力,添加到宏

Sub test() 
Dim nRows As Integer: nRows = Cells(Rows.Count, 1).End(xlUp).Row 
Dim cell As Range, r As Range: Set r = Range("A2:A" & nRows) 
Dim r1 As Range: Set r1 = Range("B2:B" & nRows) 
Dim r2 As Range: Set r2 = Range("I2:I" & nRows) 

For Each cell In r2 
    If cell.Value > 0 Then 
     For Each cell In r1 
      If cell.Value = "" Then cell.Value = 0 
Next cell 

End Sub 
+0

'我希望得到一些VBA代碼 - 你自己試過了嗎?向我們展示您正在嘗試的代碼以及可能無法使用的代碼,然後我們可以幫助您解決問題。 SO不是一個編寫代碼的網站。 –

+0

這是目前我已根據本網站上的搜索代碼,但我仍然很新的VBA並不太懂得這個公式上面的翻譯,以適應在這裏: 編輯:太長時間貼在這裏,見上面 –

回答

0

這將更新列B(ActiveSheet.UsedRange)如果列C中的至少一個單元:我有一些

Option Explicit 

Public Sub setPlaceholderInColB() 
    With ActiveSheet 
     .Range("B2").Formula = "=IF(COUNT(C2:I2)>0,0,"""")" 
     .Range("B2").AutoFill Destination:=Range("B2:B" & .UsedRange.Rows.Count) 
    End With 
End Sub 
+0

美麗,謝謝保羅。我總是混合起來試圖定義範圍。 –

相關問題