0

我在这里的第一篇文章,所以我会尽量使其简洁。

我需要在无法使用数据验证的电子表格中添加一些功能。所以我需要它在 Visual Basic 中。

代码需要在 C4:SH5 范围内的工作表更改上运行(因此只有 2 行但有很多列)。如果这两行填充在同一列中,那么我需要对 msgbox 执行逻辑。

例如:

 C4 & C5 <> "" then msgbox

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

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

1 回答 1

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

基本上迭代指定范围内的列,并将条件应用于每列中的单元格。

于 2013-09-05T12:21:12.960 回答