Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel Visual Basic-如果填充了同一列中的两个单元格,则执行命令_Excel_Vba_Macos - Fatal编程技术网

Excel Visual Basic-如果填充了同一列中的两个单元格,则执行命令

Excel Visual Basic-如果填充了同一列中的两个单元格,则执行命令,excel,vba,macos,Excel,Vba,Macos,我在这里的第一篇文章,所以我会尽量使它简洁 我需要在电子表格中添加一些无法使用数据验证的功能。所以我需要它在visual Basic中 代码需要在C4:SH5范围内的工作表更改上运行(因此只有2行,但有很多列)。如果这两行填充在同一列中,那么我需要执行到msgbox的逻辑 例如: C4 & C5 <> "" then msgbox C4 = "" AND C5 <>"" then do nothing C4 <> "" AND C5 = ""

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

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

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

例如:

 C4 & C5 <> "" then msgbox

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

 C4 <> "" AND C5 = "" then do nothing
C4和C5“然后是msgbox
C4=“”和C5”“,然后什么也不做
C4''和C5''则什么也不做

这是一种方法:

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
Private子工作表\u更改(ByVal目标作为范围)
暗霉醇As范围
对于工作表(“表1”).范围(“C4:SH5”)列中的每种霉菌
如果真菌细胞(1,1)”和真菌细胞(2,1)”,那么
MsgBox“两个”和mycl.Cells(1,1).Address&“和”&mycl.Cells(2,1).Address&“不为空”
如果结束
下一个霉菌
端接头

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

您的意思是要检查从C列到SH列的所有单元格中的第4行和第5行。。。。?如果msgbox相同,您是否只需要一个msgbox,或者运行一些代码??