excel - 根据单元格值调用宏
问题描述
我是 excel 宏的新手,所以我需要帮助。我希望根据特定值触发宏。我使用 CONCATENATE 函数来获取名字和姓氏以及月份的值,例如“Barna Gabor July”,我希望根据内容执行宏。直到现在我有这个:
Sub worksheet_Search(ByVal Target As Range)
Set Target = Sheets("Master File").Range("I12")
If Target.Value = "Barna Gabor July" Then
Call Barna_July
End If
If Target.Value = "Barna Gabor August" Then
Call Barna_August
End If
If Target.Value = "Barna Gabor September" Then
Call Barna_September
End If
If Target.Value = "Barna Gabor October" Then
Call Barna_October
end if
*etc.....*
End sub
但是我收到一个错误“对象_worksheet的方法范围失败”,当我去调试它时,它会引导我进入宏。
需要执行的宏是相同的,只是表格和范围不同,因为我有更多的人和表格:
Sub Gabor_July()
Sheets("Gabor").Range("q7:u15").Copy Destination:=Sheets("Master File").Range("c6:G14")
Application.CutCopyMode = False
End Sub
你能告诉我哪里出错了吗?
如果我将宏分配给一个按钮,但在上面的命令中使用它时,宏是好的
谢谢
解决方案
我相信下面会做你所期望的,只需用下面的代码替换你的代码,这个代码应该放在 Sheet 下Sheets("Master File")
:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$I$12" Then
Select Case Target.Value
Case "Barna Gabor July"
Barna_July
Case "Barna Gabor August"
Barna_August
Case "Barna Gabor September"
Barna_September
Case "Barna Gabor October"
Barna_October
End Select
End If
End Sub
推荐阅读
- solidworks - 如何在 Solidworks 的装配文件中获取所选组件的所有尺寸?
- javascript - 如何从 background.js 调用打开并动态创建新选项卡的内容脚本
- sql - 在 SQLite 中选择带有分隔符的字符串列,如数组
- listview - 将文本从 Arraylist 添加到 TextArea javafx
- xml - 从 url 了解 Web 服务中使用哪种编程语言
- struct - Fortran - 可分配派生类型的可分配数组
- php - 在 PHP 中转换 2018 年 8 月 t0 2018-08-01
- android - 我们能否构建一个具有 v3 依赖项的 AAR,而不会与 v2 的客户端应用程序依赖项发生冲突?
- javascript - 如何从 Redux 字段一次渲染 2 个字段
- javascript - 在浏览器中将 JSON 显示为 JSON