2017-10-28 195 views
1

我正试图找到在当前单元格之前插入单元格的正确方法。Excel VBA在当前单元格之前插入单元格

我正在循环连续的一些单元格 - 当它找到正确的值时,我希望它向右移动。

我试过这段代码:(位于后的代码有指向一个值的偏移量相对于起始活动单元格)

Dim shiftrng as Range 

For ctr = locatedPostCodeIndex To 4 

    Set shiftrng = Range(cll.Offset(0, locatedPostCodeIndex)).Select 
    shiftrng.Insert.xlShiftToRight 

Next 

我得到一个错误:Method range of object _global failed

什么是正确的在单元格之前插入单元格的方法?

+0

'shiftRange'和'shiftrng'是否正确? – jamheadart

+0

嗨,是的,对不起,错字凸轮编辑帖子。现在更新。 – Ray

+0

你如何处理'ctr'变量? – Tigregalis

回答

2

将变量设置为区域对象时,不需要添加.Select,并且您不需要在Range(...)中包装单元格偏移目标。

Set shiftrng = cll.Offset(0, locatedPostCodeIndex) 
+1

事实上,如果你没有使用'shiftrng'做其他任何事情,你可以直接在范围内插入它, cll.Offset(0,locatedPostCodeIndex).Insert xlShiftToRight' – Tigregalis

+0

谢谢 - 我用你上面的例子,但仍然想出了一个对象错误。我意识到在你的例子中没有插入和xlshofttoright之间的时期 - 删除,它的工作 – Ray

相关问题