2016-02-03 180 views
2

我在Excel工作表中包含IF條件即Excel的VBA清除內容

=If(Cond 1 is TRUE, X, Y) 

現在,使用這個條件之後,我得到列一定值的列。以下格式可以被認爲是(這些是實際值):

4L 
4L 
4L 


4L 

注:兩個空單元在上述欄是(條目4和5,就進入總6個條目的TRUE條件的結果,兩個是空單元格)。因此,它們是有效的。 (讓我把上面的列「A」稱爲將來參考)

現在,這些空單元格實際上包含公式(if條件)。我想要CLEARCONTENT他們使用VBA,但它不工作。

而且我想下面的代碼:

If ActiveSheet.Cells(row_no, col_no) = "" Then 
ActiveSheet.Cells(row_no, col_no).ClearContents 
End If 

但是,這是行不通的。我只想通過在整個列上運行循環來清除內容。 TEXT存在的列的單元格(即4L)應該跳過,但代碼遇到EMPTY CELL(實際上具有IF條件)時,它應該清除內容並完成循環。所以最終的結果將與列「A」再次相同,唯一的區別是空單元現在將是空白的,即它們將不具有任何IF條件。

我沒有運行循環的問題,但我沒有得到如何告訴VBA關於那個空單元並清楚地說明它的內容。希望我能夠發佈一個明確的查詢。提前感謝。

問候 納亞爾

+0

能否請您分享您的代碼,這將有助於我們更好地理解。 – Linga

回答

0

請儘量公式=If(Cond 1 is TRUE, X, Y)在下面的示例代碼應該工作..

Sub test() 
'Assuming your data in column A from A2 

Set Rng = Range("A2", Cells(Rows.Count, 1).End(xlUp)) 

For Each cell In Rng 
    If cell.Value = "" Then 
    cell.ClearContents 
    End If 
Next 

End Sub 

而且你不給像任何輸出「」,這將給你一片空白。請更新它,然後試試:)

0

試試這個,以及

If (Range("A35").Value = "") Then 
    Range("A35").Formula = "" 
End If