插入行而不select任何东西?

我正在VBA中工作,并希望在特定位置插入一行而不select它。 我遇到的问题是,在选中该行之后,脚本完成运行时,电子表格将向下滚动到该行。 我希望能够做到这一点,而电子表格被向下滚动到插入的行。

Rows(i & ":" & i).Select ActiveCell.EntireRow.Insert 

我不想selectA1来到顶部。

只要这样做:

 Cells(i,1).EntireRow.Insert 

将操作直接应用到所需的范围,而不是先select它,然后将操作应用到“Activecell”。

一些额外的说明:

  • “loggingmacros”function会生成类似于您的示例的代码,但是我发现在编写自己的代码时,事先select该单元是很less需要的。
  • 一个好处:直接在单元格上操作,而不是先select它,可以将代码速度提高10倍到100倍!

Rows(i & ":" & i).Insert插入将在下面插入一行而不更改select。