Excel VBA:行select与variables不合并的单元格上工作,但没有variables

我有两个macros应该做同样的事情,但他们不这样做。 录制的macros工作正常,是我想模拟,但由于某种原因,当我添加我的variables它不以同样的方式工作。

这是录制的macros:

Sub Macro8() Rows("42:42").Select Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove End Sub 

这运行正确时,我运行它。 当我从F30:F42合并单元格时,将插入该行,然后合并单元格从F30:F43。

这是我的版本:

 Sub NewLine() Dim NG As Long Dim LRA As Long LRA = 0 LRA = Range("C" & ActiveSheet.Rows.Count).End(xlUp).Row NG = LRA + 13 ' The 13 rows here are where I would enter my findings in Rows(NG & ":" & NG).Select Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove End Sub 

NG = LRA + 13正确地返回42.然而,下一行select第30到42行,而不是第42行。由于该行select了13行,它会在macros的下一行创build13行。

除非我用(NG&“:”&NG)来取代(“42:42”)是不正确的,否则两种情况下都不应该做同样的事情吗?

在此先感谢您的任何意见,这让我感到非常紧张。

更改:

 Rows(NG & ":" & NG).Select Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove 

至:

 Rows(NG).insert shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove 

Rows只需要1个数字就可以运行,除非您有超过1行的使用。