VBA Excel宏:偏移单元格选择,选择由宏定义

时间:2011-07-12 17:59:34

标签: vba excel-vba selection offset excel

我正在编写一行代码,作为更复杂的程序的一部分,该程序无法正常工作。我是VBA的新手所以请耐心等待......

基本上,我提示用户选择一个单元格,然后将其分配给变量'celNm'。

然后我执行以下操作:

celNm.EntireRow.Copy
celNm.EntireRow.Insert

接下来,由于特定于程序的原因(我假设celNm将位于命令[不同位置]之后的同一单元格),我想向上移动单元格选择,所以它现在位于最近复制的行上方。我使用以下行来执行此操作:

celNm.Offset(-1, 0).Select

然而,这不起作用。

该计划的下一步是在此位置创建一个列表。但是,程序仍然在先前位置(在所选单元格中)创建列表。为什么是这样?

2 个答案:

答案 0 :(得分:1)

celNm.Offset(-1,0).Select仅选择celNm以上的单元格。它不会改变celNm的值。要更改celNm的值,您需要以下内容:

Set celNm = celNm.Offset(-1,0)

我假设celNm被声明为Range。

答案 1 :(得分:0)

我相信您需要与ActiveCell合作。这是一个例子(你想要将“A1”改为你的celNm变量):

Range("A1").Select
ActiveCell.Offset(-1, 0).Activate

Source