2016-12-15 137 views
0

我對VBA不熟悉,通常Google會嘗試尋找解決方案,所以請耐心等待。當前單元格被更改時清除單元格內容

我想實現的是:當列L中的單元格(同一行)中的單元格發生更改時,列M中的單元格將被清除。現在,我有下面的代碼:

Private Sub Worksheet_Change(ByVal Target As Range) 
If Target.Address(0, 0) = "L3" Then Range("M3").ClearContents 
End Sub 

只是用L3 & M3時,其中適用於大,但我無法弄清楚如何得到它應用到整個列(或技術上我需要它的工作對於L3:L4000和M3:M4000)。有什麼想法嗎?提前致謝!

回答

2

你只需要獲得目標的行和明確的同一行中的M列

Private Sub Worksheet_Change(ByVal Target As Range) 

    If Not Intersect(Target, Range("L:L")) Is Nothing Then 
     Range("M" & Target.Row).ClearContents 
    End If 
End Sub 
0

堅持你的代碼儘可能:

Private Sub Worksheet_Change(ByVal Target As Range) 
    If Left(Target.Address(, False), 1) = "L" Then Target.Offset(, 1).ClearContents 
End Sub 
0

爲了讓更多一點點響應/更快,可以使用.Column.Row屬性:

If Target.Column = 12 And Target.Row >= 3 Then Target(, 2).ClearContents 
相關問題