gpt4 book ai didi

vba - Excel VBA 中的 OnClick

转载 作者:行者123 更新时间:2023-12-01 17:05:40 27 4
gpt4 key购买 nike

有没有办法用 Excel 捕获 VBA 中单元格的点击?我不是指 Worksheet_SelectionChange 事件,因为如果多次单击单元格,该事件不会多次触发。 BeforeDoubleClick 也没有解决我的问题,因为我不想要求用户频繁双击。

我当前的解决方案确实适用于 SelectionChange 事件,但它似乎需要使用全局变量和其他次优编码实践。它似乎也容易出错。

最佳答案

显然,没有完美的答案。但是,如果您想允许用户

  1. 选择某些单元格
  2. 允许他们更改这些单元格,和
  3. 捕获每次点击,甚至重复点击在同一个单元格上,

那么最简单的方法似乎是将焦点从选定的单元格上移开,这样单击它就会触发 Select 事件。

一种选择是按照我上面的建议移动焦点,但这会阻止单元格编辑。另一种选择是将选择范围扩展到一个单元格(左/右/上/下),因为这允许编辑原始单元格,但如果再次单击该单元格,则会触发 Select 事件。

如果您只想捕获单列单元格的选择,您可以在右侧插入一个隐藏列,扩展选择以在用户单击时将隐藏单元格包含在右侧,这将为您提供一个可编辑的单元格每次点击都会被捕获。代码如下

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'prevent Select event triggering again when we extend the selection below
Application.EnableEvents = False
Target.Resize(1, 2).Select
Application.EnableEvents = True
End Sub

关于vba - Excel VBA 中的 OnClick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/178738/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com