首页 > 解决方案 > Excel 中 VBA 中的代码是什么,它将选择宏最初启动的第一个单元格?

问题描述

Excel 中用于选择宏最初启动的单元格的 VBA 代码是什么。例如,我将在一个工作簿中运行宏 n 次,每次在开始之前我都会选择不同的单元格 - A2、A3、A4 等。我需要的是宏的最后一行必须是选择单元格宏最初开始的位置 - A2、A3、A4 等。

我的代码现在看起来像这样:

Selection.Copy
Range("I2").Select
ActiveSheet.Paste
Application.CutCopyMode = False

所以,第一行是复制——我从单元格 A2 开始宏,复制内容并粘贴到单元格 I2 中。然后我想再次选择单元格 A2,因为我将从单元格 A2 向右复制所有单元格 3 列(然后必须复制 B2、C2 和 D2)。在下一次运行中,我将从单元格 A3 开始宏,然后我想从单元格 A3 向右复制所有单元格 3 列,依此类推。

我希望我尽可能清楚地解释我的问题。你能帮我解决这个问题吗?

标签: excelvba

解决方案


您不需要选择任何内容,但如果您坚持,您可以首先将单元格设置为活动单元格:

Sub copyFromReferenceCell()
   Dim cellCopy As Range
     Set cellCopy = ActiveCell 'if you want using a previously selected cell
     cellCopy.Copy Destination:=cellCopy.Offset(0, 8)
     Range(cellCopy.Offset(0, 1), cellCopy.Offset(0, 3)).Copy Destination:=cellCopy.Offset(0, 9)
End Sub

您没有告诉我们您需要在哪里复制三个单元格的范围,我只是假设您尝试以类似的方式复制并选择“J2”。如果我的假设是错误的,你可以设置一个不同的范围


推荐阅读