Great code but wondered how I can paste values rather than just paste?
Thanks :)
例如,您有一個很大的工作表,現在您只想複製一些選定範圍並分發到其他工作表。 但是,當您選擇多個範圍並單擊“複製”時,將出現一個提示對話框,提醒您“該命令不能用於多個選擇。” 在這種情況下,如何快速復制多個選定範圍? 這裡有一些技巧可以幫助您解決此任務。
的幫助下 剪貼板,您可以一次將所有選定範圍粘貼到另一個範圍或工作表。 請執行以下操作:
1。 點擊 首頁 > 在 剪貼板 組以顯示 剪貼板 麵包.。 看截圖:
2。 然後一一複制所需的選定範圍。 同時,複製的範圍已出現在 剪貼板 麵包. 參見上面的截圖:
3。 選擇將所有復制的範圍粘貼到的目標範圍的第一個單元格,然後單擊 全部粘貼 按鈕在 剪貼板 窗格。
然後,所有復制的範圍都已粘貼到指定的目標範圍中。
將來自不同工作簿的數十張表合併為一張表可能很麻煩。 但是使用Kutools for Excel的 合併(工作表和工作簿) 實用程序,只需單擊幾下就可以完成!
全功能30天免費試用!
Kutools for Excel -包括300多個用於Excel的便捷工具。 全功能30天免費試用,無需信用卡! 立即行動吧!
使用VBA代碼,您還可以復制多個選定範圍並將其粘貼到任何其他工作表中。
1。 持有 按Ctrl 鍵,然後選擇要使用的多個非相鄰範圍。
2。 按 其他 + F11 鍵同時打開 適用於應用程序的Microsoft Visual Basic 窗口中,單擊 插入 > 模塊,然後將以下代碼輸入到模塊中:
選項顯式子CopyMultipleSelection()Dim SelAreas()作為範圍Dim PasteRange作為範圍Dim UpperLeft作為範圍Dim NumAreas作為整數,i作為整數Dim TopRow如長,LeftCol作為整數Dim RowOffset如長,ColOffset如整數Dim NonEmptyCellCount如整數如果未選擇範圍,則如果TypeName(Selection)<>“ Range”,則MsgBox“選擇要復制的範圍。允許多項選擇。” 退出子結束如果'將區域存儲為單獨的範圍對象,則NumAreas = Selection.Areas.Count ReDim SelAreas(1到NumAreas)對於i = 1到NumAreas設置SelAreas(i)= Selection.Areas(i)Next'確定左上角多個選擇中的單元格TopRow = ActiveSheet.Rows.Count LeftCol = ActiveSheet.Columns.Count對於i = 1到NumAreas如果SelAreas(i).Row <TopRow然後TopRow = SelAreas(i).Row如果SelAreas(i).Column <LeftCol然後LeftCol = SelAreas(i)。列Next Set UpperLeft = Cells(TopRow,LeftCol)'在錯誤繼續時獲取粘貼地址Next Set PasteRange = Application.InputBox _(Prompt:=“請指定粘貼的左上單元格範圍:“,_標題:=”複製多重選擇“,_類型:= 8)發生錯誤時GoTo 0'如果取消,則退出如果TypeName(PasteRange)<>” Range“然後退出Sub'確保僅左上方的單元格使用的Set PasteRange = PasteRange.Range(“ A1”)'檢查現有數據的粘貼範圍NonEmptyCellCount = 0對於i = 1到NumAreas RowOffset = SelAreas(i)。行-TopRow ColOffset = Sel Areas(i).Column-LeftCol NonEmptyCellCount = NonEmptyCellCount + _ Application.CountA(Range(PasteRange.Offset(RowOffset,ColOffset),_ PasteRange.Offset(RowOffset + SelAreas(i).Rows.Count-1,_ ColOffset + SelAreas) (i).Columns.Count-1)))接下來的i'如果粘貼範圍不為空,則警告用戶If NonEmptyCellCount <> 0然後_如果MsgBox(“是否覆蓋現有數據?”,vbQuestion + vbYesNo,_“複製多個選擇“] <> vbYes然後退出Sub'複製並粘貼每個區域,對於i = 1到NumAreas RowOffset = SelAreas(i)。行-TopRow ColOffset = SelAreas(i)。列-LeftCol SelAreas(i).Copy PasteRange.Offset( RowOffset,ColOffset)下一個i End Sub
3。 然後點擊 跑 按鈕運行代碼。
4。 現在,請指定一個單元格以將範圍粘貼到開頭 複製多項選擇 對話框,然後單擊 OK 按鈕。 看截圖:
複製多個範圍 的效用 Kutools for Excel 可以幫助您輕鬆快速地從活動工作表中復制多個範圍。 請執行以下操作:
Kutools for Excel -包括300多個用於Excel的便捷工具。 全功能30天免費試用,無需信用卡! 立即行動吧!
1。 選擇要一一使用的範圍,而無需按住 按Ctrl 鍵,然後單擊 Kutools > 複製範圍。 看截圖:
2。 在 複製多個範圍 對話框,檢查 全部 選項 特殊粘貼 部分,然後單擊 好吧b烏頓。 參見上面的截圖:
備註: 如果要將行高和列寬保持在原始範圍內,請檢查 包括行高 選項和 包括列寬 複製多個範圍對話框中的選項。
3。 然後在以下提示框中指定一個單元格以粘貼範圍,然後單擊 OK 按鈕。
現在,所有選定範圍都將粘貼到指定單元格中,其行高和列寬與原始選擇的行高和列寬相同。
Kutools for Excel -包括300多個用於Excel的便捷工具。 全功能30天免費試用,無需信用卡! 立即行動吧!
Kutools for Excel提供了另一個 合併工作表 該實用程序可在Excel中輕鬆地從多個工作表或多個工作簿中復制多個範圍。 請執行以下操作:
Kutools for Excel -包括300多個用於Excel的便捷工具。 全功能30天免費試用,無需信用卡! 立即行動吧!
1。 點擊 Kutools Plus > 結合.
2.在打開的合併工作表–第1步,共3對話框中,請檢查 將工作簿中的多個工作表合併為一個工作表 選項,然後單擊 下一頁 按鈕。
3。 在“合併工作表–第2步,共3步”對話框中,請執行以下操作:
(1)在 工作簿清單 部分,然後單擊 瀏覽 每個工作表後面的按鈕以指定每個工作表的範圍;
(2)點擊 加入 按鈕添加要從中復制範圍的其他工作簿,然後重複上述(1)以在添加的工作簿中指定範圍。
(3)點擊 完 按鈕。
Kutools for Excel -包括300多個用於Excel的便捷工具。 全功能30天免費試用,無需信用卡! 立即行動吧!
4。 然後出現一個Kutools for excel對話框,並要求保存組合方案。 請點擊 是 按鈕或 沒有 按鈕,根據需要。
到目前為止,已復制多個工作表或工作簿中的所有指定範圍,並將其粘貼到新工作簿中。