2017-10-28 224 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

相關問題