Excel VBA:实现点击A列单元格同步显示同行C列内容至A2
修改Worksheet_SelectionChange宏实现双单元格同步显示
嘿,你的原始宏逻辑已经很扎实了!要实现点击A5:A200区域内的单元格时,同时把同行C列的值同步到A2单元格,只需要在现有代码里加一行关键逻辑就行,非常简单。
修改后的完整代码
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Selection.Count = 1 Then If Not Intersect(Target, Range("A5:A200")) Is Nothing Then Range("A1").Value = Target.Value ' 同步选中单元格的值到A1 Range("A2").Value = Target.Offset(0, 2).Value ' 同步同行C列的值到A2(C列是A列向右偏移2列) ' 也可以用这种更直观的写法:Range("A2").Value = Range("C" & Target.Row).Value End If End If End Sub
关键修改说明
- 我保留了你原有的两个判断条件:确保只选中单个单元格,且选中的单元格在A5:A200范围内,避免误触发。
- 新增的
Target.Offset(0, 2).Value是利用单元格偏移的方式获取同行C列的值——因为C列相对于A列横向偏移了2列(从A到B是1,B到C是2),这种写法比硬写列标更灵活,要是以后需要同步其他列,只需要修改偏移数字就行。 - 如果你觉得列标写法更直观,也可以换成
Range("C" & Target.Row).Value,效果完全一样,它通过Target.Row获取选中单元格的行号,直接定位到同行C列的单元格。
测试一下:点击A10时,A1会显示A10的值,A2就会同步显示C10的值,完美符合你的需求!
内容的提问来源于stack exchange,提问作者J So
相关产品推荐
相关产品推荐

