Excel VBA如何获取随机选中单元格行号并将同行列A内容复制到列B
Excel VBA 实现代码
以下代码可直接实现需求,已经预留了后续扩展所需的行号变量:
Sub CopyAToB() ' 校验选中单元格是否属于A列 If Selection.Column <> 1 Then MsgBox "请选中A列的单元格后再操作", vbExclamation Exit Sub End If ' 存储当前选中单元格的行号,供后续扩展逻辑使用 Dim targetRow As Long targetRow = Selection.Row ' 将A列选中单元格内容赋值到同行B列 Cells(targetRow, "B").Value = Selection.Value ' 后续复杂逻辑可基于targetRow变量开发,示例:操作同行列C可写为 Cells(targetRow, "C") End Sub
功能说明
- 内置选中区域合法性校验,避免选到其他列时触发异常
- 采用直接赋值的方式替代剪贴板复制粘贴,运行效率更高,不会影响系统剪贴板原有内容
- 已将目标行号存入
targetRow变量,你后续开发更复杂的同行业务逻辑时,直接调用该变量即可,无需重复获取行号
按钮绑定步骤
- 打开Excel「开发工具」选项卡,选择插入「表单控件(按钮)」
- 在表格区域绘制完按钮后,在弹出的「指定宏」弹窗中选择
CopyAToB宏,点击确定即可
内容的提问来源于stack exchange,提问作者Stuart
相关产品推荐
相关产品推荐

