开发者

VBA Excel Macro: Offsetting Cell Selection, Selection as Defined by Macro

I am writing a line of code as part of a more complex program that is not working correctly. I am new to VBA so please bear with me...

Essentially, I am prompting the user to select a cell which is then assigned to the variable 'celNm'.

I then perform the following actions:

celNm.EntireRow.Copy
celNm.EntireRow.Insert

Next,开发者_运维技巧 for reasons specific to the program (and I am assuming the celNm will be located at the same cell after the command [Not the same location]), I want to move the cell selection upwards, so it is now located at the row just recently copied above. I am using the following line to do this:

celNm.Offset(-1, 0).Select

This, however, does not work.

The next step in the program would be to create a list in this location. However the program still creates a list at the previous location (in the cell selected). Why is this?


celNm.Offset(-1,0).Select only selects the cell above celNm. It does not change the value of celNm. To change the value of celNm, you need the following:

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

I'm assuming celNm is declared as a Range.


I believe you'll need to work with ActiveCell. Here's an example (You'll want to change "A1" to your celNm variable):

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

Source

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜