2013-09-05 14 views
0

我的第一篇文章在這裏,所以我會盡量使其儘可能簡潔。Excel的Visual Basic - 執行一個命令,如果在同一列中的兩個單元格填充

我需要將一些功能添加到無法使用數據驗證的電子表格中。所以我需要它在Visual Basic中。

代碼需要在C4:SH5範圍內的工作表更改上運行(因此只有2行,但有很多列)。如果兩行填充在同一列,那麼我需要執行一個邏輯到msgbox。

例如:

C4 & C5 <> "" then msgbox 

C4 = "" AND C5 <>"" then do nothing 

C4 <> "" AND C5 = "" then do nothing 
+0

大概也是'C4 =「」AND C5 =「」然後什麼都不做「,並且對於包括C到SH的所有列,條件格式不適合? – pnuts

+0

你的意思是你想檢查從Col C到SH ....的所有單元格中的第4行和第5行嗎?你只想要一個msgbox,如果他們是相同的,或者一些代碼運行? – Vasim

回答

0

這是一種方法來做到這一點:

Private Sub Worksheet_Change(ByVal Target As Range) 

Dim myCol As Range 

For Each myCol In Worksheets("sheet1").Range("C4:SH5").Columns 
    If myCol.Cells(1, 1) <> "" And myCol.Cells(2, 1) <> "" Then 
    MsgBox "Both " & myCol.Cells(1, 1).Address & " and " & myCol.Cells(2, 1).Address & " are not empty" 
    End If 
Next myCol 

End Sub 

基本上遍歷在指定範圍內的列,並應用條件在每列中的單元格。

+0

神奇的,像魅力一樣工作。真的很感謝幫助! – Dominic

相關問題