2013-09-05 13 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

相关问题