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

如何創建命令按鈕以在Excel中復制和粘貼數據?

假設您需要在更改數據後經常將一系列單元格複製到其他位置,則手動複製和粘貼方法將非常繁瑣且耗時。 如何使此復制和粘貼事件自動運行? 本文將向您展示如何使用命令按鈕一鍵複製和粘貼數據。

創建一個命令按鈕以使用VBA代碼複製和粘貼數據


創建一個命令按鈕以使用VBA代碼複製和粘貼數據

請執行以下操作,以在單擊命令按鈕時自動複製和粘貼數據。

1.單擊以插入命令按鈕 開發人員 > 插入 > 命令按鈕(ActiveX控件)。 看截圖:

2.在工作表中繪製一個命令按鈕,然後右鍵單擊它。 選擇 查看代碼 從上下文菜單。

3.在彈出 Microsoft Visual Basic for Applications 窗口,請用下面的VBA代碼替換“代碼”窗口中的原始代碼。

VBA代碼:使用命令按鈕在Excel中復制和粘貼數據

Private Sub CommandButton1_Click()
    Application.ScreenUpdating = False
    Dim xSheet As Worksheet
    Set xSheet = ActiveSheet
        If xSheet.Name <> "Definitions" And xSheet.Name <> "fx" And xSheet.Name <> "Needs" Then
            xSheet.Range("A1:C17 ").Copy
            xSheet.Range("J1:L17").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        End If

    Application.ScreenUpdating = True
End Sub

備註:在代碼中,CommandButton1是插入的命令按鈕的名稱。 A1:C17是您需要復制的範圍,而J1:L17是粘貼數據的目標範圍。 請根據需要更改它們。

4。 按 其他 + Q 關閉鍵 Microsoft Visual Basic for Applications 窗口。 並在“開發人員”選項卡下關閉“設計模式”。

5.現在單擊命令按鈕,將復制區域A1:C17中的所有數據並將其粘貼到區域J1:L17中,而無需進行單元格格式化。


相關文章:


最佳辦公效率工具

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底部
按評論排序
留言 (60)
4.5中的5評分 · 1評級
網站主持人對此評論進行了最小化
我在我的工作簿中使用了這個功能。 我正在使用活動 x 按鈕在多張紙上的同一張紙上複製和粘貼數據。 但是,有些工作表沒有活動的 x 按鈕或宏,它們從工作表上的各個字段中獲取粘貼的數據,這是我不想要的。 幫助?
網站主持人對此評論進行了最小化
我可以有代碼將範圍 I4:L26 從 Sheet2(稱為 TransferSheet)(按鈕將在此表上)複製到 C 行上的 Sheet1(稱為 JobsToDo)(第一行是空白的,因為這將不斷添加數據請
網站主持人對此評論進行了最小化
如何更改代碼以將結果粘貼到工作簿中的另一個頁面? 以及如何在放入新數據之前插入一行,這樣它就不會覆蓋它
網站主持人對此評論進行了最小化
嗨,賈森,
如果要將結果粘貼到工作簿中的另一個工作表,請嘗試以下 VBA 代碼。

Private Sub CommandButton1_Click()
將 xSheet、xDWS 調暗為工作表
將 xFNum 調暗為整數
將 xSRg 調暗為範圍

在錯誤恢復下一頁
Set xSRg = Application.InputBox("請選擇要粘貼範圍的單元格:", "Kutools for Excel", xTxt, , , , , 8)
如果 xSRg 什麼都沒有,則退出 Sub

Application.ScreenUpdating = False
範圍(“A1:C17”)。複製
xSRg.PasteSpecial 粘貼:=xlValues,操作:=xlNone,SkipBlanks:=False,轉置:=False
Application.ScreenUpdating = True

END SUB
網站主持人對此評論進行了最小化
我們複製文件的公式是怎樣的
然後將其粘貼到下一張紙上。 並粘貼下一個留出空間或繼續向下而不刪除以前的粘貼。
網站主持人對此評論進行了最小化
美好的一天,
下面的 VBA 代碼可以幫助您解決問題。 請試一試。 謝謝你。

Private Sub CommandButton1_Click()
將 xSheet、xDWS 調暗為工作表
將 xFNum 調暗為整數
將 xSRg 調暗為範圍

在錯誤恢復下一頁
Set xSRg = Application.InputBox("請選擇要粘貼範圍的單元格:", "Kutools for Excel", xTxt, , , , , 8)
如果 xSRg 什麼都沒有,則退出 Sub

Application.ScreenUpdating = False
範圍(“A1:C17”)。複製
xSRg.PasteSpecial 粘貼:=xlValues,操作:=xlNone,SkipBlanks:=False,轉置:=False
Application.ScreenUpdating = True

END SUB
網站主持人對此評論進行了最小化
如果我想做一個粘貼隊列怎麼辦?
進一步解釋。 我單擊 CommandButton1 然後它複製 A1。 當我使用粘貼時,從 A1 複製 - 然後我想在不單擊另一個按鈕的情況下複製 A2,以便我可以立即將 A2 粘貼到其他地方。 然後當我使用粘貼時,從 A2 複製然後復制 A3。 如果有可能? 當使用普通的 Excel 工作表時,這是否也可以在後台工作,並嘗試在我從 Excel 複製的位置執行此操作,然後粘貼到完全不同的程序中,如互聯網瀏覽器、另一個程序、word、txt 文件等?

無論如何,這篇文章非常有幫助,非常感謝!
網站主持人對此評論進行了最小化
嗨馬格努斯,
抱歉不能幫你。 謝謝你的評論。
網站主持人對此評論進行了最小化
我想擴展這一步...在粘貼實際值而不是公式之後...我需要復制新單元格並粘貼到另一個不是 excel 的程序中,我只需要單擊按鈕從特定單元格並在另一個單元格中過去實際值,然後將該新值複製到 Windows 剪貼板以過去在另一個應用程序中。 希望這是有道理的,並感謝您在了解如何添加新代碼方面的幫助......我知道我想要它做什麼,只是不熟悉如何編碼......
謝謝
網站主持人對此評論進行了最小化
嗨,
代碼已在文章中更新,請試一試。 感謝您的評論。
網站主持人對此評論進行了最小化
是否可以讓命令按鈕立即將所選範圍粘貼到指定的工作表(在下一個空單元格中),而不必每次都輸入要粘貼數據的位置?
網站主持人對此評論進行了最小化
嗨亞當,
下面的 VBA 代碼可以幫助您解決問題。
您需要將代碼中的“Sheet4”和“A1:C17”替換為您指定的工作表和範圍。

Private Sub CommandButton1_Click()
將 xSWName 調暗為字符串
將 xSheet 調暗為工作表
將 xPSheet 調暗為工作表
將 xIntR 調暗為整數
xSWName = "Sheet4"
在錯誤恢復下一頁
Application.ScreenUpdating = False
設置 xSheet = ActiveSheet
如果 xSheet.Name <> "Definitions" And xSheet.Name <> "fx" And xSheet.Name <> "Needs" 那麼
xSheet.Range("A1:C17").複製
設置 xPSheet = Worksheets.Item(xSWName)
xIntR = xPSheet.UsedRange.Rows.count
xPSheet.Cells(xIntR + 1, 1).PasteSpecial 粘貼:=xlValues,操作:=xlNone,SkipBlanks:=False,轉置:=False
如果結束
Application.ScreenUpdating = True
END SUB
網站主持人對此評論進行了最小化
很好,我需要復制和粘貼很多次是否可以選擇將一行數據粘貼到3行或5行任何我喜歡的?
網站主持人對此評論進行了最小化
抱歉幫不了你
網站主持人對此評論進行了最小化
先生如何復制當前工作表中單元格的範圍然後粘貼到另一個工作表?
網站主持人對此評論進行了最小化
嗨,
下面的 VBA 代碼可以幫助您解決問題。
您需要將代碼中的“Sheet4”和“A1:C17”替換為您指定的工作表和範圍。

Private Sub CommandButton1_Click()
將 xSWName 調暗為字符串
將 xSheet 調暗為工作表
將 xPSheet 調暗為工作表
將 xIntR 調暗為整數
xSWName = "Sheet4"
在錯誤恢復下一頁
Application.ScreenUpdating = False
設置 xSheet = ActiveSheet
如果 xSheet.Name <> "Definitions" And xSheet.Name <> "fx" And xSheet.Name <> "Needs" 那麼
xSheet.Range("A1:C17").複製
設置 xPSheet = Worksheets.Item(xSWName)
xIntR = xPSheet.UsedRange.Rows.count
xPSheet.Cells(xIntR + 1, 1).PasteSpecial 粘貼:=xlValues,操作:=xlNone,SkipBlanks:=False,轉置:=False
如果結束
Application.ScreenUpdating = True
END SUB
網站主持人對此評論進行了最小化
如果我想不將其複製到當前工作簿中,而是複製到 Excel 中的另一個工作簿(仍未打開)中。 如何相應地更改此 VBA 代碼?
網站主持人對此評論進行了最小化
嗨,羅伯特,
抱歉不能幫你。 感謝您的評論。
網站主持人對此評論進行了最小化
我有一個 qusrion 我有一張帶有日期列 b1:b3 的工作表,我希望將其複製到工作表 33 B2:b33 它的文本,但我需要相同的文本格式,即顏色大小
網站主持人對此評論進行了最小化
嗨,作者,

你上面提到的文章對我很有幫助。 我不習慣擅長代碼和命令。 我仍然需要知道而不是這篇文章。 我可以復制並粘貼到下一張表中。 但我仍然需要知道“每次按下按鈕時如何在下一張表中粘貼和添加新行”。 否則,我在下一張紙上的數據每次都會被替換。 我真的很感激並期待看到您的回复。
網站主持人對此評論進行了最小化
嗨覺葉敏,
抱歉這麼晚才回复。 按照步驟操作並將代碼替換為以下代碼。 在代碼中,Sheet4 是將數據複製到的目標工作表,請根據需要更改它和復制的範圍 A1:C17。 謝謝你的評論。

Private Sub CommandButton1_Click()
將 xSWName 調暗為字符串
將 xSheet 調暗為工作表
將 xPSheet 調暗為工作表
將 xIntR 調暗為整數
xSWName = "Sheet4"
在錯誤恢復下一頁
Application.ScreenUpdating = False
設置 xSheet = ActiveSheet
如果 xSheet.Name <> "Definitions" And xSheet.Name <> "fx" And xSheet.Name <> "Needs" 那麼
xSheet.Range("A1:C17").複製
設置 xPSheet = Worksheets.Item(xSWName)
xIntR = xPSheet.UsedRange.Rows.Count
xPSheet.Cells(xIntR + 1, 1).PasteSpecial 粘貼:=xlValues,操作:=xlNone,SkipBlanks:=False,轉置:=False
如果結束
Application.ScreenUpdating = True
END SUB
網站主持人對此評論進行了最小化
您好,請幫忙。 我需要與上面相同的內容,但我只需要將活動單元格中的任何內容粘貼到不同工作表中的新行(如果可能的話,在以前的條目之上)。 非常感謝您對此的任何幫助。 最好的祝福
網站主持人對此評論進行了最小化
嗨,幫助我的情況,我想要一個按鈕來生成我有 excel 的宏並將 <""> 中的數據導出到 word,謝謝
網站主持人對此評論進行了最小化
嗨,
對不起,我沒有明白你的意思。 如果您能詳細解釋您正在嘗試做的事情,那就太好了。
網站主持人對此評論進行了最小化
我正在尋找一些幫助,用戶可以單擊行號,然後點擊命令按鈕,它將復制該行並將其插入到它下面的行中。
網站主持人對此評論進行了最小化
美好的一天,
對不起,還可以幫助你。 謝謝你的評論。
網站主持人對此評論進行了最小化
大師 bagaimana jika berbeda 表 dan 複製數據 yg diinginkan
contoh sheet1 hanya data kolom B & kolom D copy ke sheet2
terimakasih
網站主持人對此評論進行了最小化
請發送 VBAcode 以使用命令按鈕單擊複製單個單元格內容而不使用文本框,以便可以粘貼到記事本、msword 等任何應用程序中
網站主持人對此評論進行了最小化
是否可以製作一個按鈕,將一張紙上的一個選定單元格複製到另一張紙上? 謝謝!
網站主持人對此評論進行了最小化
嗨,萊克西,
下面的 VBA 代碼可以幫助您解決問題。 請根據需要將“Sheet3”更改為工作表名稱。
選擇一個單元格並按下命令按鈕使其工作。

Private Sub CommandButton1_Click()
將 xSWName 調暗為字符串
將 xSheet 調暗為工作表
將 xPSheet 調暗為工作表
將 xIntR 調暗為整數
xSWName = "Sheet3"
在錯誤恢復下一頁
Application.ScreenUpdating = False
設置 xSheet = ActiveSheet
如果 xSheet.Name <> "Definitions" And xSheet.Name <> "fx" And xSheet.Name <> "Needs" 那麼
選擇.當前區域.選擇
Selection.Copy
設置 xPSheet = Worksheets.Item(xSWName)
xIntR = xPSheet.UsedRange.Rows.Count
xPSheet.Cells(xIntR + 1, 1).PasteSpecial 粘貼:=xlValues,操作:=xlNone,SkipBlanks:=False,轉置:=False
如果結束
Application.ScreenUpdating = True
END SUB
網站主持人對此評論進行了最小化
您好!
有沒有辦法製作代碼,所以我可以讓按鈕複製一個範圍(比如說 A1:D5)。
然後將其粘貼到 A6:D10。

如果我再次按下按鈕,它會將 A1:D5 複製到 A11:D15。

等等?
網站主持人對此評論進行了最小化
嗨喬納斯,
抱歉不能幫你。 感謝您的評論。
網站主持人對此評論進行了最小化
這太棒了 - 我已經適應了我的 s.sheet 但我需要它更加動態並使用標籤而不是硬編碼單元格位置。
即在 A2-A6 範圍內找到名稱“Jamie”,然後在 K2 列中找到名稱並粘貼

我還需要每次點擊 +1 並運行相同的複制和粘貼但到下一列,即

單擊 1 - 粘貼到 Q1,單擊 2 - 粘貼到 Q2 等

示例:

A 列 B 列 ...... K 列 L 列
1. 姓名 Hrs 工作姓名 Q1 Q2 Q3 Q4
2.傑米22薩米
3.薩米40朱迪思
4. 朱迪思 18 傑米
5. 塔米 16 基思
6. 基思 42 塔米


任何幫助將不勝感激。
網站主持人對此評論進行了最小化
如何編寫代碼以將單元格從 a1 範圍複製到 a5 以粘貼到 c1 並按順序粘貼到下一個可用單元格?
網站主持人對此評論進行了最小化
而且,一次復制並粘貼一個單元格..
謝謝您的幫助!
網站主持人對此評論進行了最小化
嗨,大家好。 這需要一些幫助,拜託。 我需要在我的工作表(Sheet10)中創建一個 1* 按鈕,它將復制 3 個單元格,例如:Sheet1、A1、B1、C1。 然後將其粘貼到 Sheet2 A1、B1、C1 中。 然後如果我單擊按鈕 4,例如:Sheet1、A4、B4、C4,我需要將其粘貼到 Sheet2、A2、B2、C2 中。 如果我單擊按鈕 2,那麼它必須傳入 Sheet2、A3、B3、C3。 我希望這是有道理的。
這裡還沒有評論
載入更多
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點

關注我們

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