繁体   English   中英

如何根据活动/选定的单元格更改单元格值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM