VBA如何响应下拉列表时间

whp320 2009-08-13 10:27:18
我使用“数据/有效性”的方式实现了单元格内下拉列表的功能。
我想在每次从下拉列表中选取数据时,响应我希望做得事情。因为使用的不是下拉列表控件(我也没有找到这个控件),所以,不知道如何添加这个时间的响应函数。望赐教
...全文
273 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
bigriverhorse 2009-08-13
  • 打赏
  • 举报
回复
根据我的经验和Validation对象的文档说明,Excel VBA是没有“下拉列表”弹出的事件通知的。


Validation 对象
参阅(灰色) 属性 方法 事件(灰色)
whp320 2009-08-13
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 bigriverhorse 的回复:]
可以,已经把单元格的位置通过Target传到函数中了,

你判断一下Target的Row和Col就可以知道是那一个单元格。
[/Quote]

谢谢你,我常试了一下,Worksheet_SelectionChange确实可以相应单元格选择变化的动作,但却响应不了下拉列表变化的动作。还有别的方法可用吗?
bigriverhorse 2009-08-13
  • 打赏
  • 举报
回复
可以,已经把单元格的位置通过Target传到函数中了,

你判断一下Target的Row和Col就可以知道是那一个单元格。
whp320 2009-08-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 bigriverhorse 的回复:]
下列框下列事件一时没有找到,不知道有没有。

但退一步,楼主知道SelectionChange事件吗,
这个事件是单元格内容变化才通知你,
看看能不能满足你的要求。

VB codePrivateSub Worksheet_SelectionChange(ByVal TargetAs Range)End Sub
[/Quote]

请问这个函数如何使用才能只响应我指定的单元格的事件?例如:我希望B1 和C1分别响应两个不同的事件,如何做到?
bigriverhorse 2009-08-13
  • 打赏
  • 举报
回复
下列框下列事件一时没有找到,不知道有没有。

但退一步,楼主知道SelectionChange事件吗,
这个事件是单元格内容变化才通知你,
看看能不能满足你的要求。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub
whp320 2009-08-13
  • 打赏
  • 举报
回复
很急,多谢啦
whp320 2009-08-13
  • 打赏
  • 举报
回复
求助
bigriverhorse 2009-08-13
  • 打赏
  • 举报
回复
好的,能解决问题就好,
Worksheet_Change事件是单元格改变时的通知,并不是楼主当初提问题要求的“下拉列表”通知。

OK,楼主结贴吧,呵呵。

[Quote=引用 9 楼 whp320 的回复:]
Private Sub Worksheet_Change(ByVal Target As Range)


End Sub

可以满足这个要求,谢谢你了大河马
[/Quote]
whp320 2009-08-13
  • 打赏
  • 举报
回复
Private Sub Worksheet_Change(ByVal Target As Range)


End Sub

可以满足这个要求,谢谢你了大河马
whp320 2009-08-13
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 bigriverhorse 的回复:]
根据我的经验和Validation对象的文档说明,Excel VBA是没有“下拉列表”弹出的事件通知的。


Validation 对象
参阅(灰色) 属性 方法 事件(灰色)
[/Quote]

这么说,我只能在旁边加一个按钮,在选取完下拉列表后,使用按钮作为事件响应了?
视图菜单里可以选择一个“窗体”的面板,里面有ComboBox,它可以响应事件,这个是不是可以作为替代?

2,462

社区成员

发帖
与我相关
我的任务
社区描述
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
社区管理员
  • VBA
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧