[英]How to change a cell value based on active/selected cell
我在名为Manual的工作表名称中有一个范围 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 在评论中的建议进行编辑。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.