excel - 如何根据活动/选定单元格更改单元格值
问题描述
我在名为Manual的工作表名称中有一个Range A2:A77中的名称列表。每当我选择一个名称时,即从范围中选择一个单元格时,该活动单元格值应该反映在单元格C1中。此外,如果我选择了其他位置,除了给定的工作表或范围之外,宏不应该工作。
我用谷歌搜索了很多,但似乎没有什么符合我的标准,所以我在这里,希望有更好的解决方案。您可能会要求我通过使用数据验证来实现这一点,但为此我必须每次都进行多次点击和滚动工作。所以为了避免我正在寻找 vba 代码以最大限度地减少工作和时间。谢谢你。
解决方案
我现在只是在学习 VBA,所以这可能是一些非常糟糕的代码,但这里就可以了。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim cells As Range
Set cells = ActiveSheet.Range("A1:A27")
If Not (Intersect(Target, cells) Is Nothing) Then
ActiveSheet.Range("C1").Value = Target.Value
End If
End Sub
Worksheet_SelectionChange
如果工作表中选定的单元格发生更改,则调用InRange
我在此处找到的测试:VBA 测试单元格是否在范围内测试单元格是否在定义的范围内,然后设置值。
按照@Vitaliy Prushak 在评论中的建议进行编辑。
推荐阅读
- javascript - 客户端 javascript 的摘录在 Wordpress 页面的正文中显示为文本
- psycopg2 - 在ubuntu18上安装odoo12企业版时出现psycopg2包错误
- html - 奥丁项目——谷歌主页项目
- linux - 使用 Canon ImageClass D1320 打印机设置 CUPS,CUPS 无法识别?
- css - 如何正确在图像上使用绝对和相对定位?
- java - infixToPostfix 算法但没有操作优先级
- java - 导航抽屉活动未加载所有片段
- powershell - 获取电子邮件组成员的 PowerShell 命令 - Get-ADGroupMember 不起作用
- c# - 删除 DirectoryName 的一部分
- laravel - 通过 app() 获取/迭代 laravel 服务容器中的数据