VBA Excel-在活动单元格中插入部分行



我一直在尝试VBA代码,想知道如何在有活动单元格的地方插入部分行(范围从B:E(。

这里的初学者,会欣赏输入

谢谢!

Sub Adding()
'
' Adding Macro
'
' Keyboard Shortcut: Ctrl+g
'
Range("B177:E177").Select
Selection.Insert Shift:=xlDown
ActiveWindow.SmallScroll Down:=-162
Range("K9").Select
Selection.AutoFill Destination:=Range("K9:K1936"), Type:=xlFillDefault
Range("K9:K1936").Select
ActiveWindow.ScrollRow = 1904
ActiveWindow.ScrollRow = 1902
ActiveWindow.ScrollRow = 1893
Range("L177").Select
ActiveCell.FormulaR1C1 = _
"Test. "
End Sub

由于您正在向外看,您可能需要阅读如何避免在Excel VBA 中使用Select

此外,插入几个单元格所需的唯一VBA是

ActiveSheet.Range("B177:E177").Insert Shift:=xlDown

代码的其余部分都是一团糟;修修补补,与问题无关。录制宏是一种很好的方式,可以快速指向正确的方向,并接触到新的属性/功能;但一旦你得到了你需要的东西,就去掉多余的绒毛(任何说.Select/Selection/ActiveWindow的东西(,这无论如何都会减慢代码的速度。

CCD_ 2和CCD_ 3之间存在差异。
  • Selection是选定/高亮显示的所有单元格的Range变量
  • ActiveCell是一个仅包含1个单元格的Range。高亮显示为白色的单元格,如果您开始键入该值,则该单元格将发生更改。您可以通过点击{shift+}选项卡键,将选定内容中的活动单元格更改为{上一个}/下一个单元格

因此,要插入所选单元格,请使用:

Selection.Insert Shift:=xlDown

仅对于活动单元格,使用:

ActiveCell.Insert Shift:=xlDown

注意:Selection/ActiveCell始终基于ActiveworkBook.Activeworksheet

最新更新