簡體   English   中英

VBA Excel-在活動單元格中插入部分行

[英]VBA Excel - Insert a partial row in active cell

我一直在嘗試使用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中使用“選擇”。

此外,插入幾個單元格所需的唯一VBA是

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

...其余的代碼只是虛張聲勢,與問題無關。 錄制宏是一種很好的方法,它可以迅速指出正確的方向並提供新的屬性/功能。 但是一旦獲得所需的內容,就刪除多余的絨毛(任何表示.Select/Selection/ActiveWindow ),無論如何這只會減慢代碼的速度。


ActivecellSelection之間有區別。

  • 選擇是所有選中/突出顯示的單元格的范圍變量。
  • ActiveCell是一個僅包含1個單元格的范圍。 突出顯示為白色的單元格,如果您開始輸入該值,則該單元格將會更改。 您可以通過按{shift +} Tab鍵將活動單元格更改為選擇中的{previous} / next單元格。

因此,要插入選定的單元格,請使用:

Selection.Insert Shift:=xlDown

對於活動單元,請使用:

ActiveCell.Insert Shift:=xlDown

注意: Selection / ActiveCell始終基於ActiveworkBook.Activeworksheet

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM