2017-08-10 120 views
-3

我很新的使用宏,所以以爲我可以要求在這樣簡單的查詢一些幫助......我試圖運行VBA其中:Excel中 - 使用VBA

如果D5是空白的,然後E5中的清晰內容&如果E5爲空白,那麼F5 中的清晰內容一直重複D100/E100/F100。

希望澄清一下。

謝謝!

編輯:在回答「作出努力,嘗試先解決它,這是我最初的編碼(從也使用Google的幫助),但它只是看着這就是爲什麼我提出的問題一行

If Target.Cells.Count > 1 Then Exit Sub 

If Not Intersect(Target, Range("D5")) Is Nothing Then 
    Range("E5").ClearContents 

End If 

    If Target.Cells.Count > 1 Then Exit Sub 

If Not Intersect(Target, Range("E5")) Is Nothing Then 
    Range("F5").ClearContents 

End If 

末次

+0

注:我想用宏,因爲這些細胞對他們有下拉列表功能。 – Newbie

+3

歡迎來到Stack Overflow。這不是一個代碼寫入服務。請努力(包括在這裏搜索和閱讀現有的問題),先自己解決問題。一旦你這樣做了,你可以努力編寫代碼。如果遇到困難,你可以解釋你想要做什麼,包括你編寫的代碼的*相關部分*,並提出一個具體問題,我們可以嘗試提供幫助。祝你好運。 –

+0

你爲什麼要檢查E5?你只是清除它。如果D5是空白清楚E5:F5應該做你想要的....你的問題並不完全清楚 – jsotola

回答

0

試試這個代碼:)

Private Sub Worksheet_Change(ByVal Target As Range) 
    Dim n As Long 

    If Target.Column = 4 Then 
     If IsEmpty(Cells(Target.Row, 4)) Then 
       Range("E" & Target.Row).ClearContents 
       Range("F" & Target.Row).ClearContents 
     End If 
    End If 
End Sub 
+0

omg謝謝這就是我想要的(獨立逐行查看它)! :) 謝謝! – Newbie

0

我不知道你爲什麼會想這樣做,因爲它基本上會發現是空的第一個單元格後清除每一個細胞。但是,嘿,我不知道你的項目。這是一個快速和骯髒的方式來做到這一點。

For x = 5 to 100 
    If IsEmpty(cells(5, x)) then 
    Cells(5, x+1).Clear 
Next