Note: The other languages of the website are Google-translated. Back to English

如何在Excel中通過“命令按鈕”自動插入空白新行?

在許多情況下,您可能需要在工作表的指定位置插入一個空白的新行。 在本文中,我們將向您展示如何通過在Excel中單擊命令按鈕來自動插入空白新行。

通過命令按鈕自動插入空白新行


通過命令按鈕自動插入空白新行

您可以通過單擊命令按鈕來運行以下VBA代碼以插入空白的新行。 請執行以下操作。

1.首先,您需要插入一個命令按鈕。 請點擊 開發人員 > 插入 > 命令按鈕(ActiveX控件)。 看截圖:

2.然後在需要添加新行的工作表中繪製一個“命令按鈕”,右鍵單擊“命令按鈕”並單擊 氟化鈉性能 從右鍵單擊菜單中。

3。 在裡面 氟化鈉性能 對話框中,將命令按鈕的顯示文本輸入到 標題 下框 分類 選項卡,然後關閉對話框。

您可以看到命令按鈕的顯示文本已更改,如下圖所示。

4.再次右鍵單擊“命令按鈕”,然後單擊“確定”。 查看代碼 從右鍵單擊菜單中。

5.然後 Microsoft Visual Basic for Applications 窗口,請將原始代碼替換為下面的VBA代碼 推薦碼 窗口。

VBA代碼:通過命令按鈕自動插入空白新行

Private Sub CommandButton1_Click()
    Dim rowNum As Integer
    On Error Resume Next
    rowNum = Application.InputBox(Prompt:="Enter Row Number where you want to add a row:", _
                                    Title:="Kutools for excel", Type:=1)
    Rows(rowNum & ":" & rowNum).Insert Shift:=xlDown
End Sub

備註:在代碼中,CommanButton1是您創建的命令按鈕的名稱。

6。 按 其他 + Q 同時關閉按鍵 Microsoft Visual Basic for Applications 窗口。 然後關閉 設計模式開發人員 標籤。

7.單擊插入的命令按鈕,然後單擊 Excel的Kutools 對話框彈出。 請輸入要在其中添加空白新行的特定行號,然後單擊 OK 按鈕。 看截圖:

然後,將空白的新行插入到工作表的指定位置,如下圖所示。 並且它保持上述單元格的單元格格式。


相關文章:


最佳辦公效率工具

Kutools for Excel 解決了你的大部分問題,並將你的生產力提高了 80%

  • 重用: 快速插入 複雜的公式,圖表 以及您以前使用過的任何東西; 加密單元 帶密碼 創建郵件列表 並發送電子郵件...
  • 超級公式欄 (輕鬆編輯多行文本和公式); 閱讀版式 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
  • 合併單元格/行/列 不會丟失數據; 拆分單元格內容; 合併重複的行/列...防止細胞重複; 比較範圍...
  • 選擇重複或唯一 行; 選擇空白行 (所有單元格都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇...
  • 確切的副本 多個單元格,無需更改公式參考; 自動創建參考 到多張紙; 插入項目符號,複選框等...
  • 提取文字,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
  • 超級濾鏡 (將過濾方案保存並應用於其他工作表); 高級排序 按月/週/日,頻率及更多; 特殊過濾器 用粗體,斜體...
  • 結合工作簿和工作表; 根據關鍵列合併表; 將數據分割成多個工作表; 批量轉換xls,xlsx和PDF...
  • 超過 300 項強大的功能. 支持 Office / Excel 2007-2021 和 365。支持所有語言。 在您的企業或組織中輕鬆部署。 完整功能 30 天免費試用。 60 天退款保證。
kte選項卡201905

Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
officetab底部
按評論排序
留言 (22)
還沒有評分。 成為第一位評論!
網站主持人對此評論進行了最小化
誰能建議我如何修改它以自動將新行添加到 Excel 表格的底部?
網站主持人對此評論進行了最小化
你找到答案了嗎?
網站主持人對此評論進行了最小化
嗨,我正在使用此代碼,但它並沒有從之前的行中刪除公式,請您幫忙。
網站主持人對此評論進行了最小化
親愛的金,

請插入一個表格,其中包含您將在其中插入空白行的範圍。 之後,插入新行時,公式將自動下降。

最好的問候,水晶
網站主持人對此評論進行了最小化
你能舉個例子嗎? 不按照你在這裡說的話。 謝謝
網站主持人對此評論進行了最小化
嗨,
請將您的範圍轉換為表格範圍,以便在插入新行時自動降低公式。 看截圖:
網站主持人對此評論進行了最小化
我和 Kim 有同樣的問題 - 當工作表不受保護時,它會添加具有正確格式和正確公式的行。 一旦工作表受到保護,它就不會復制公式。 有什麼想法嗎?
網站主持人對此評論進行了最小化
親愛的米歇爾,
默認情況下,受保護的工作表不允許插入空白行。
因此,VBA 代碼在這種情況下無法工作。
網站主持人對此評論進行了最小化
有沒有辦法添加插入行按鈕並使新行保持單元格合併/格式化,就像它們在表格的其餘部分中一樣?
網站主持人對此評論進行了最小化
嗨西蒙,
抱歉可以幫助解決這個問題。 謝謝你的評論。
網站主持人對此評論進行了最小化
有沒有辦法讓新行保持下面行而不是上面行的格式?
網站主持人對此評論進行了最小化
嗨塔爾,
抱歉可以幫助解決這個問題。 謝謝你的評論。
網站主持人對此評論進行了最小化
是的,我玩過這個腳本,它對我有用。 您只需添加您想要的行號(我選擇了第 6 行),但如果它被允許發布,我會感到震驚。

Private Sub CommandButton1_Click()
將 rowNum 調暗為整數
在錯誤恢復下一頁
Rows(rowNum & "6").Insert Shift:=xlDown
END SUB
網站主持人對此評論進行了最小化
可以通過此單擊一次插入多個工作表行。
網站主持人對此評論進行了最小化
嗨,
下面的代碼可以幫助您解決問題。 請試一試。

Private Sub CommandButton1_Click()
將 xIntRrow 調暗為整數
將 rowNum 調暗為整數
在錯誤恢復下一頁
rowNum = Application.InputBox(Prompt:="輸入要添加行的行號:", _
標題:=“Kutools for excel”,類型:=1)
xIntRrow = Application.InputBox(Prompt:="輸入要插入的行數", _
標題:=“Kutools for excel”,類型:=1)
行(rowNum + 1 & ":" & rowNum + 1).EntireRow.Resize(xIntRrow).Insert Shift:=xlShiftDown

END SUB
網站主持人對此評論進行了最小化
是否可以在不同的工作表中創建? 我真的需要那個
網站主持人對此評論進行了最小化
子 AddNewRow()



Private Sub CommandButton1_Click()

ActiveSheet.Unprotect 密碼:="1234"



調暗我的工作表

昏暗的我只要



mySheets = Array("Sheet2")



對於 i = LBound(mySheets) 到 UBound(mySheets)

使用工作表(mySheets(i))

.Range("B10").EntireRow.Insert Shift:=xlDown

.Range("B10:H10").Borders.Weight = xlThin

結束

接下來,我



ActiveSheet.Protect 密碼:="1234"



END SUB

我不知道這是否對你有用。 它對我來說效果很好。 我什至留下了不受保護的單元格,您可以輸入數據並且公式仍然有效。 我花了一整天才弄明白。 將“1234”替換為您喜歡的任何密碼,將“Sheet2”替換為您正在使用的工作表並輸入您想要的範圍。
代碼首先取消保護工作表,添加行並保護工作表。
kiongakamau@gmail.com
網站主持人對此評論進行了最小化
Hi

我使用了代碼,但想添加帶有公式的行,因此我添加了最後一行以便能夠添加帶有公式的行。
但是,在我的 excel 文件和“F”列中,我有一個可以手動輸入的文本,並且在不同情況下會有所不同。 因此,我想在參考行下方添加行,同時保留所有單元格中的公式和值,除了我想複製為空白的“F”列中的單元格!
您能否幫我解決一下我應該在下面的代碼中添加什麼,以便每當我使用此代碼添加一行時能夠使“F”列的單元格為空白?
提前致謝!

Private Sub CommandButton1_Click()
將 xIntRrow 調暗為整數
將 rowNum 調暗為整數
在錯誤恢復下一頁
rowNum = Application.InputBox(Prompt:="輸入要添加行的行號:", _
標題:=“Kutools for excel”,類型:=1)
xIntRrow = Application.InputBox(Prompt:="輸入要插入的行數", _
標題:=“Kutools for excel”,類型:=1)
行(rowNum + 1 & ":" & rowNum + 1).EntireRow.Resize(xIntRrow).Insert Shift:=xlShiftDown
行(rowNum).Resize(xIntRrow + 1).FillDown

END SUB
網站主持人對此評論進行了最小化
嗨,馬,
以下 VBA 代碼可能會對您有所幫助。 請試一試。 謝謝你。

Private Sub CommandButton1_Click()
'Updated by Extendoffice 20220707
    Dim rowNum As Integer
    Dim xRg1, xRg2 As Range
    
    On Error Resume Next
    
    rowNum = Application.InputBox(Prompt:="Enter Row Number where you want to add a row:", _
                                    Title:="Kutools for excel", Type:=1)
    
    Rows(rowNum & ":" & rowNum).Insert Shift:=xlDown
    Rows((rowNum - 1) & ":" & (rowNum - 1)).Copy
    Rows(rowNum & ":" & rowNum).Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Range("F" & rowNum).Value = ""
End Sub
網站主持人對此評論進行了最小化
Caros colegas, após pesquisar (bastante) na net não consegui encontrar um atalho, comando, código, nada, nada, que eu possa usar para inserir em uma macro APENAS uma forma de inserir uma linha ABAIXO da célula ativa。 Isto porquê se eu gravar o endereço da célula, ele não muda, fica semper na mesma célula e as seguintes não vão ficar corretamente abaixo, e se eu usar um endereço de célula fixo, a linha tem que ser inserida acima, mas não formata da forma desejada, que seria o formato das linhas de cima。

Acho que o código existse, só não encontro, já tentei várias formas, selecionando um fixo, subindo uma linha e pedindo para inserir após, mas as seguintes não funcionam de acordo。

Alguém poderia 我 ajudar?
網站主持人對此評論進行了最小化
... Testei os códigos acima, mas, como se trata de pessoas que vão usar, não é viável os box que pedem a linha ea quantidade, não dá...
網站主持人對此評論進行了最小化
Criei uma linha e nomeei como spotB,
Mudei a altura da linha para 0,01 para ocultá-la (apenas por estética)。
Criei um botão:
Application.Goto 參考:="spotB"
選擇.EntireRow.Insert

問題解決。

Obrigado pelos códigos a Mah e crystal, mas eu tinha 8 títulos para separar, cada um inserindo linhas quando necessário ao usuário, e não queria nenhuma pergunta sobre quantidade de linhas, os usuários não leem perguntas e clicam logo em OK, depois reclamam.. .
這裡還沒有評論
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點

關注我們

版權所有©2009 - 萬維網。extendoffice.com。 | 版權所有。 供電 ExtendOffice。 |
Microsoft和Office徽標是Microsoft Corporation在美國和/或其他國家的商標或註冊商標。
受Sectigo SSL保護