拖动Sheet1的Q列时,如何自动更新Sheet2(c_calculated)的B5单元格值?
实现拖动Sheet1 Q列时自动更新Sheet2 B5的值
要实现选中(拖动)Sheet1的Q列单元格时,自动将Sheet2(工作表名c_calculated)的B5单元格更新为对应行的Sheet1 N列值,可通过Excel的VBA事件实现,具体步骤如下:
- 打开目标Excel文件,按下
Alt + F11组合键打开VBA编辑器 - 在左侧「工程资源管理器」面板中找到
Sheet1,双击打开其代码窗口 - 将以下VBA代码粘贴到代码窗口中:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) ' 判断选中的是否是Q列(第17列)的单个单元格 If Target.Column = 17 And Target.Cells.Count = 1 Then ' 将c_calculated工作表的B5设置为当前行的N列值 ThisWorkbook.Worksheets("c_calculated").Range("B5").Value = Me.Range("N" & Target.Row).Value End If End Sub
- 点击VBA编辑器顶部的「保存」按钮,将文件保存为**启用宏的工作簿(.xlsm)**格式(默认.xlsx格式不支持宏)
- 返回Excel界面,选中Sheet1 Q列的任意单元格(拖动选中也可),此时
c_calculated工作表的B5会自动更新为对应行的N列数值
代码说明
Worksheet_SelectionChange事件会在工作表的选中区域变化时触发- 代码先判断选中的是否是Q列的单个单元格,避免误触发
- 若符合条件,直接将目标行的N列值赋值给
c_calculated的B5
内容的提问来源于stack exchange,提问作者Kaiyuan Zheng
相关产品推荐
相关产品推荐

