Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.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 如何根据单元格值调用命令按钮单击事件?_Excel_Vba_Selectionchanged - Fatal编程技术网

Excel 如何根据单元格值调用命令按钮单击事件?

Excel 如何根据单元格值调用命令按钮单击事件?,excel,vba,selectionchanged,Excel,Vba,Selectionchanged,我有一个包含许多记录的装运跟踪表,每个记录代表一次装运 在另一张表格中,我有一个“到货通知”模板,带有一个命令按钮,用于更新模板值,并在货物到达后自动向客户发送电子邮件 回到桌子上, “Z”列有装运到达日期 到达通知的“AH”列。。它只能有2个值(发送、发送)。。发送未发送通知的装运,以及发送已发送的通知 我想要的是: 对于列“AH”中仅值为“SEND”的每个单元格,单击一次 要运行代码命令Button1\u,请从第二页单击 然后将单元格值更改为“已发送” *我所做的如下,但没有工作 Priva

我有一个包含许多记录的装运跟踪表,每个记录代表一次装运 在另一张表格中,我有一个“到货通知”模板,带有一个命令按钮,用于更新模板值,并在货物到达后自动向客户发送电子邮件

回到桌子上, “Z”列有装运到达日期 到达通知的“AH”列。。它只能有2个值(发送、发送)。。发送未发送通知的装运,以及发送已发送的通知

我想要的是: 对于列“AH”中仅值为“SEND”的每个单元格,单击一次 要运行代码命令Button1\u,请从第二页单击 然后将单元格值更改为“已发送”

*我所做的如下,但没有工作

Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Column = Range("AH1").Column Then
Call CommandButton1_Click
Else
Range("AH" & Target.Row).Value = "SENT"
  End If
End Sub

首先,为
工作表
找到
SelectionChange
事件(这很重要,因为您不能将此代码放在任何地方……它必须在该事件中)

然后将此代码粘贴到其中

If Target.Column = 26 Then ' column Z
  CommandButton1_Click
  Range("AH" & Target.Row).Value = "SENT"
End If
完成后,应如下所示:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Target.Column = 26 Then ' column Z
    CommandButton1_Click
    Range("AH" & Target.Row).Value = "SENT"
  End If
End Sub

使用
工作表\u selection change
事件并检查
Target
参数的地址。
Target
参数也有一个
属性,顺便说一句。嘿@braX我是一个完全的初学者。顺便说一句。我想我需要对您的评论进行解释,很抱歉,我添加了一个答案,希望能对您进行充分的解释。