excel - 每次在 Excel 中使用验证列表时激活宏

标签 excel vba

我有一个选择不同国家/地区的验证列表。每个国家都有不同的卖家,我也必须为他们制作一份验证列表。问题是每次我选择不同的国家/地区时,我都必须手动运行宏(使用按钮)。我希望每次使用国家/地区验证列表时都运行/激活宏,而不是手动(按钮)。

我认为不需要我使用的任何代码来解决我的问题。无论如何我都会发布最后一部分。

Dim strFormula1 As String

strFormula1 = "=$z$1:" & Worksheets("graficos").Range("z1").End(xlDown).Address()


With Selection.Validation
    .Delete
    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
    xlBetween, Formula1:=strFormula1
    .IgnoreBlank = True
    .InCellDropdown = True
    .InputTitle = ""
    .ErrorTitle = ""
    .InputMessage = ""
    .ErrorMessage = ""
    .ShowInput = True
    .ShowError = True
End With

最佳答案

在工作表类模块的 Worksheet_Change 事件处理程序中调用宏。

在底部的工作表选项卡上,右键单击并选择查看代码。这将打开 VB 编辑器,显示工作表的代码 Pane 。

在其中,从左上角的对象下拉列表中选择工作表,并从右上角的事件下拉列表中选择更改

在事件处理程序中,粘贴代码以调用宏

关于excel - 每次在 Excel 中使用验证列表时激活宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16217780/

相关文章:

vba - 在 Word 中从 VBA 创建和保存 Excel 文档

excel - 需要根据所选的下拉菜单将新信息复制到其他两个工作表之一

excel - 修剪 Excel 单元格中的前导空格

vba - 复制粘贴多个范围VBA

excel - 在事件处理程序中触发 Enter 和 Exit 事件

excel - 如何在Excel中制作蒙版?

excel - 为什么当我对 vba 使用相同的代码、相同的数据但不同的笔记本电脑时得到不同的输出?

javascript - 从网络计算机上启用智能卡的登录中读取 Windows 用户名

vba - 将 MMult 的结果分配给数组变量时类型不匹配

vba - 用于将事件工作表另存为新工作簿、询问用户位置并从新工作簿中删除宏的宏