我一直在尝试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
答案 0 :(得分:0)
由于您正在凝视,您可能需要阅读How to avoid using Select in Excel VBA
此外,唯一需要插入几个单元格的VBA就是
ActiveSheet.Range("B177:E177").Insert Shift:=xlDown
...其余的代码只是起毛和修补,与问题无关。录制宏是一种很好的方法,它可以迅速指出正确的方向并提供新的属性/功能。但是一旦获得所需的东西,就去掉多余的绒毛(任何表示.Select/Selection/ActiveWindow
的东西),无论如何这只会减慢代码的速度。
Activecell
和Selection
之间是有区别的。
因此要插入选定的单元格,请使用:
Selection.Insert Shift:=xlDown
对于活动单元格,请使用:
ActiveCell.Insert Shift:=xlDown
注意:选择/ ActiveCell 始终基于ActiveworkBook.Activeworksheet
。