Note: The other languages of the website are Google-translated. Back to English
ล็อกอิน  \/ 
x
or
x
สมัครสมาชิก  \/ 
x

or

วิธีคัดลอกการเลือกหรือช่วงหลายรายการใน Excel

ตัวอย่างเช่นคุณมีเวิร์กชีตขนาดใหญ่และตอนนี้คุณต้องการคัดลอกเฉพาะบางช่วงที่เลือกและแจกจ่ายไปยังเวิร์กชีตอื่น แต่เมื่อคุณเลือกหลายช่วงและคลิกคัดลอกจะมีกล่องโต้ตอบพร้อมต์เพื่อเตือนคุณว่า“ คำสั่งนั้นไม่สามารถใช้กับการเลือกหลายรายการได้” ในเงื่อนไขนี้คุณจะคัดลอกช่วงที่เลือกหลาย ๆ ช่วงอย่างรวดเร็วได้อย่างไร นี่คือเทคนิคบางอย่างสำหรับคุณในการแก้ปัญหานี้


คัดลอกช่วงที่เลือกหลายรายการด้วยคลิปบอร์ด

ด้วยความช่วยเหลือของ คลิปบอร์ดคุณสามารถวางช่วงที่เลือกทั้งหมดลงในช่วงหรือแผ่นงานอื่นได้พร้อมกัน กรุณาดำเนินการดังต่อไปนี้:

1. คลิก หน้าแรก > doc คัดลอกหลายช่วง 09 ใน คลิปบอร์ด จัดกลุ่มเพื่อแสดงไฟล์ คลิปบอร์ด ขนมปัง.. ดูภาพหน้าจอ:

2. จากนั้นคัดลอกช่วงที่เลือกที่คุณต้องการทีละรายการ ในเวลาเดียวกันช่วงที่คัดลอกได้ปรากฏในไฟล์ คลิปบอร์ด ขนมปัง. ดูภาพหน้าจอด้านบน:

3. เลือกเซลล์แรกของช่วงปลายทางที่คุณจะวางช่วงที่คัดลอกทั้งหมดแล้วคลิก วางทั้งหมด ปุ่มใน คลิปบอร์ด บานหน้าต่าง

จากนั้นช่วงที่คัดลอกทั้งหมดจะถูกวางลงในช่วงปลายทางที่ระบุ

รวมการเลือกหลายอย่างจากแผ่นงาน / สมุดงานจำนวนมากเป็นแผ่นงาน / สมุดงานเดียวได้อย่างง่ายดาย

อาจเป็นเรื่องน่าเบื่อที่จะรวมแผ่นงานหลายสิบแผ่นจากสมุดงานต่างๆไว้ในแผ่นงานเดียว แต่ด้วย Kutools for Excel's รวม (แผ่นงานและสมุดงาน) ยูทิลิตี้คุณสามารถทำได้ด้วยการคลิกเพียงไม่กี่ครั้ง! คุณสมบัติเต็มทดลองใช้ฟรี 30 วัน!
ad หนังสือรวมชีท 1

Kutools สำหรับ Excel - รวมเครื่องมือที่มีประโยชน์มากกว่า 300 รายการสำหรับ Excel ทดลองใช้ฟรี 30 วันเต็มไม่ต้องใช้บัตรเครดิต! Get It Now

คัดลอกช่วงที่เลือกหลายรายการด้วยรหัส VBA

ด้วยรหัส VBA คุณยังสามารถคัดลอกช่วงที่เลือกหลาย ๆ ช่วงและวางลงในแผ่นงานอื่น ๆ

1. ถือ Ctrl คีย์และเลือกหลายช่วงที่ไม่อยู่ติดกันที่คุณต้องการใช้

2. กด อื่น ๆ + F11 ในเวลาเดียวกันเพื่อเปิดไฟล์ Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่างคลิก สิ่งที่ใส่เข้าไป > โมดูลและใส่รหัสต่อไปนี้ลงในโมดูล:

Option Explicit Sub CopyMultipleSelection () Dim SelAreas () As Range Dim PasteRange As Range Dim UpperLeft As Range Dim NumAreas As Integer, i As Integer Dim TopRow As Long, LeftCol As Integer Dim RowOffset As Long, ColOffset As Integer Dim NonEmptyCellCount As Integer 'Exit หากไม่ได้เลือกช่วงหาก TypeName (Selection) <> "Range" จากนั้น MsgBox "เลือกช่วงที่จะคัดลอกอนุญาตให้เลือกได้หลายรายการ" ออกจาก Sub End ถ้า 'จัดเก็บพื้นที่เป็น Range object แยกกัน NumAreas = Selection.Areas.Count ReDim SelAreas (1 ถึง NumAreas) สำหรับ i = 1 To NumAreas Set SelAreas (i) = Selection.Areas (i) Next' กำหนดด้านซ้ายบน เซลล์ในการเลือกหลายรายการ TopRow = ActiveSheet.Rows.Count LeftCol = ActiveSheet.Columns.Count For i = 1 ถึง NumAreas ถ้า SelAreas (i) .Row <TopRow จากนั้น TopRow = SelAreas (i) .Row ถ้า SelAreas (i) .Column <LeftCol Then LeftCol = SelAreas (i) .Column Next Set UpperLeft = Cells (TopRow, LeftCol) 'Get the paste address On Error Resume Next Set PasteRange = Application.InputBox _ (Prompt: = "ระบุเซลล์ด้านซ้ายบนสำหรับการวาง range: ", _ Title: =" Copy Mutliple Selection ", _ Type: = 8) On Error GoTo 0 'Exit if Cancel ถ้า TypeName (PasteRange) <>" Range "แล้ว Exit Sub' ตรวจสอบให้แน่ใจว่าเฉพาะเซลล์ด้านซ้ายบนเท่านั้น ใช้ Set PasteRange = PasteRange.Range ("A1") 'ตรวจสอบช่วงการวางสำหรับข้อมูลที่มีอยู่ NonEmptyCellCount = 0 สำหรับ i = 1 ถึง NumAreas RowOffset = SelAreas (i) .Row - TopRow ColOffset = Sel พื้นที่ (i) คอลัมน์ - LeftCol NonEmptyCellCount = NonEmptyCellCount + _ Application.CountA (ช่วง (PasteRange.Offset (RowOffset, ColOffset), _ PasteRange.Offset (RowOffset + SelAreas (i) .Rows.Count - 1, _ ColOffset + SelAreas (i) .Columns.Count - 1))) ถัดไป i 'หากช่วงการวางไม่ว่างเปล่าเตือนผู้ใช้ถ้า NonEmptyCellCount <> 0 แล้ว _ ถ้า MsgBox ("เขียนทับข้อมูลที่มีอยู่?", vbQuestion + vbYesNo, _ "คัดลอกการเลือกหลายรายการ ") <> vb ใช่แล้วออกจาก Sub 'คัดลอกและวางแต่ละพื้นที่สำหรับ i = 1 ถึง NumAreas RowOffset = SelAreas (i) .Row - TopRow ColOffset = SelAreas (i) .Column - LeftCol SelAreas (i) .Copy PasteRange.Offset ( RowOffset, ColOffset) ต่อไป i End Sub

3. จากนั้นคลิกปุ่ม วิ่ง ปุ่มเพื่อเรียกใช้รหัส

4. และตอนนี้โปรดระบุเซลล์เพื่อวางช่วงในช่องเปิด คัดลอกตัวเลือกหลายรายการ กล่องโต้ตอบแล้วคลิกไฟล์ OK ปุ่ม. ดูภาพหน้าจอ:


คัดลอกช่วงที่เลือกได้อย่างรวดเร็วจากแผ่นงานเดียว

แพทเทิร์น คัดลอกหลายช่วง ประโยชน์ของ Kutools สำหรับ Excel สามารถช่วยให้คุณคัดลอกหลายช่วงจากแผ่นงานที่ใช้งานอยู่ได้อย่างรวดเร็ว กรุณาดำเนินการดังต่อไปนี้:

Kutools สำหรับ Excel - รวมเครื่องมือที่มีประโยชน์มากกว่า 300 รายการสำหรับ Excel ทดลองใช้ฟรี 30 วันเต็มไม่ต้องใช้บัตรเครดิต! Get It Now

1. เลือกช่วงที่คุณต้องการใช้ทีละรายการโดยไม่ต้องกดปุ่ม Ctrl จากนั้นคลิก Kutools > ช่วงการคัดลอก. ดูภาพหน้าจอ:

2. ใน คัดลอกหลายช่วง กล่องโต้ตอบตรวจสอบ ทั้งหมด ตัวเลือกจาก วางแบบพิเศษ ส่วนและคลิกปุ่ม ตกลงขutton ดูภาพหน้าจอด้านบน:

บันทึก: หากคุณต้องการให้ความสูงของแถวและความกว้างของคอลัมน์เป็นช่วงเดิมโปรดตรวจสอบ รวมถึงความสูงของแถว ตัวเลือกและ รวมถึงความกว้างของคอลัมน์ ในกล่องโต้ตอบคัดลอกหลายช่วง

3. และระบุเซลล์เพื่อวางช่วงในกล่องพร้อมต์ต่อไปนี้แล้วคลิก OK ปุ่ม

และตอนนี้ช่วงที่เลือกทั้งหมดจะถูกวางลงในเซลล์ที่ระบุโดยมีความสูงของแถวและความกว้างของคอลัมน์เดียวกันกับการเลือกเดิม

คลิกที่นี่เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับยูทิลิตี้ Copy Multiple Ranges       

Kutools สำหรับ Excel - รวมเครื่องมือที่มีประโยชน์มากกว่า 300 รายการสำหรับ Excel ทดลองใช้ฟรี 30 วันเต็มไม่ต้องใช้บัตรเครดิต! Get It Now


คัดลอกหลายช่วงจากแผ่นงาน / สมุดงานจำนวนมาก

Kutools for Excel ให้อีก รวมแผ่นงาน ยูทิลิตี้ในการคัดลอกหลายช่วงจากหลายแผ่นงานหรือสมุดงานจำนวนมากได้อย่างง่ายดายใน Excel กรุณาดำเนินการดังต่อไปนี้:

Kutools สำหรับ Excel - รวมเครื่องมือที่มีประโยชน์มากกว่า 300 รายการสำหรับ Excel ทดลองใช้ฟรี 30 วันเต็มไม่ต้องใช้บัตรเครดิต! Get It Now

1 คลิก Kutools Plus > รวมกัน.

2. ในกล่องโต้ตอบเปิด Combine Worksheets - ขั้นตอนที่ 1 จาก 3 โปรดตรวจสอบไฟล์ รวมแผ่นงานหลายแผ่นจากสมุดงานเป็นแผ่นงานเดียว ตัวเลือกและคลิกที่ ต่อไป ปุ่ม

3. ในกล่องโต้ตอบรวมแผ่นงาน - ขั้นตอนที่ 2 จาก 3 โปรดทำดังนี้:

(1) เลือกสมุดงานในไฟล์ รายการสมุดงาน แล้วคลิกไฟล์ หมวดหมู่สินค้า ปุ่มด้านหลังแต่ละแผ่นงานเพื่อระบุช่วงจากแต่ละแผ่นงาน
(2) คลิกไฟล์ เพิ่ม ปุ่มเพื่อเพิ่มสมุดงานอื่น ๆ ที่คุณจะคัดลอกช่วงจากนั้นทำซ้ำด้านบน (1) เพื่อระบุช่วงในสมุดงานที่เพิ่ม
(3) คลิกไฟล์ เสร็จสิ้น ปุ่ม

Kutools สำหรับ Excel - รวมเครื่องมือที่มีประโยชน์มากกว่า 300 รายการสำหรับ Excel ทดลองใช้ฟรี 30 วันเต็มไม่ต้องใช้บัตรเครดิต! Get It Now

4. จากนั้นกล่องโต้ตอบ Kutools for excel จะปรากฏขึ้นและขอให้บันทึกสถานการณ์การรวมกัน กรุณาคลิกที่ไฟล์ ใช่ หรือ ไม่ ปุ่มตามที่คุณต้องการ

จนถึงขณะนี้มีการคัดลอกและวางช่วงที่ระบุทั้งหมดจากหลายแผ่นงานหรือสมุดงานลงในสมุดงานใหม่


Demo: คัดลอกช่วงที่เลือกหลาย ๆ ช่วงจากแผ่นงานเดียว

Demo: คัดลอกช่วงที่เลือกหลาย ๆ ช่วงจากสมุดงาน / แผ่นงานจำนวนมาก


Kutools สำหรับ Excel มีเครื่องมือที่มีประโยชน์มากกว่า 300 รายการสำหรับ Excel ให้ทดลองใช้ฟรีโดยไม่มีข้อ จำกัด ใน 30 วัน ดาวน์โหลดและทดลองใช้ฟรีทันที!

เครื่องมือเพิ่มประสิทธิภาพการทำงานในสำนักงานที่ดีที่สุด

Kutools สำหรับ Excel ช่วยแก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณได้ถึง 80%

  • นำมาใช้ใหม่: ใส่อย่างรวดเร็ว สูตรที่ซับซ้อนแผนภูมิ และสิ่งที่คุณเคยใช้มาก่อน เข้ารหัสเซลล์ ด้วยรหัสผ่าน; สร้างรายชื่อผู้รับจดหมาย และส่งอีเมล ...
  • Super Formula Bar (แก้ไขข้อความและสูตรหลายบรรทัดได้อย่างง่ายดาย); การอ่านเค้าโครง (อ่านและแก้ไขเซลล์จำนวนมากได้อย่างง่ายดาย); วางลงในช่วงที่กรองแล้ว...
  • ผสานเซลล์ / แถว / คอลัมน์ โดยไม่สูญเสียข้อมูล แยกเนื้อหาของเซลล์ รวมแถว / คอลัมน์ที่ซ้ำกัน... ป้องกันเซลล์ซ้ำ; เปรียบเทียบช่วง...
  • เลือกซ้ำหรือไม่ซ้ำ แถว; เลือกแถวว่าง (เซลล์ทั้งหมดว่างเปล่า); Super Find และ Fuzzy Find ในสมุดงานจำนวนมาก สุ่มเลือก ...
  • สำเนาถูกต้อง หลายเซลล์โดยไม่เปลี่ยนการอ้างอิงสูตร สร้างการอ้างอิงอัตโนมัติ ถึงหลายแผ่น ใส่สัญลักษณ์แสดงหัวข้อย่อย, กล่องกาเครื่องหมายและอื่น ๆ ...
  • แยกข้อความ, เพิ่มข้อความ, ลบตามตำแหน่ง, ลบ Space; สร้างและพิมพ์ผลรวมย่อยของเพจ แปลงระหว่างเนื้อหาของเซลล์และความคิดเห็น...
  • ซุปเปอร์ฟิลเตอร์ (บันทึกและใช้โครงร่างตัวกรองกับแผ่นงานอื่น ๆ ); การเรียงลำดับขั้นสูง ตามเดือน / สัปดาห์ / วันความถี่และอื่น ๆ ตัวกรองพิเศษ โดยตัวหนาตัวเอียง ...
  • รวมสมุดงานและแผ่นงาน; ผสานตารางตามคอลัมน์สำคัญ แยกข้อมูลออกเป็นหลายแผ่น; Batch แปลง xls, xlsx และ PDF...
  • คุณสมบัติที่ทรงพลังมากกว่า 300 รายการ. รองรับ Office / Excel 2007-2019 และ 365 รองรับทุกภาษา ใช้งานง่ายในองค์กรหรือองค์กรของคุณ ทดลองใช้ฟรี 30 วันเต็ม รับประกันคืนเงิน 60 วัน
kte แท็บ 201905

แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มผลผลิตของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
ด้านล่าง officetab
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    peter.habershon@eis2win.co.uk · 2 years ago
    Hi there,
    Great code but wondered how I can paste values rather than just paste?
    Thanks :)
  • To post as a guest, your comment is unpublished.
    Peter Habershon · 2 years ago
    Hi there,
    Great post and the VBA code works perfectly. Is it possible to change the code to paste special > values? If so, how?
    Thanks!
  • To post as a guest, your comment is unpublished.
    jacobkring@hotmail.com · 3 years ago
    Hi. Nice code, works great. Is it possible to modify the code in a way such that it is possible to insert/paste the market row/ranges multiple times instead of just one time?
    • To post as a guest, your comment is unpublished.
      kelly.extendoffice@gmail.com · 3 years ago
      Hi Jacob,
      Maybe this Insert Title Rows feature of Kutools for Excel can solve your problem.
      https://www.extendoffice.com/product/kutools-for-excel/excel-insert-title-rows.html
  • To post as a guest, your comment is unpublished.
    kmmanahan · 3 years ago
    Hi! How do I use the same VBA Code above but instead of simply pasting, I would like it to paste special for just the values. The table I am putting the values (constants) into is already formatted and with totals (formulas)
    Thanks so much in advance!
    • To post as a guest, your comment is unpublished.
      · 3 years ago
      Hi Katrina Manahan,

      Please open the Microsoft Visual Basic for applications window, and create a new Module, just press CTRL + V to paste the VBA code directly. The sequence numbers before code won't be pasted.
  • To post as a guest, your comment is unpublished.
    Steve O · 5 years ago
    Thanks for the code, works perfectly. This odd lack of function within Excel has stumped me many times in the past. It's normally quicker in the end to work around it, but in this case I have 4000 individually colour-coded cells so any work-around would have taken a long time, so I'm very grateful.
    Steve
  • To post as a guest, your comment is unpublished.
    David Hedin · 5 years ago
    Hi,
    Is it possible to adjust the code so that the copied cells can be pasted in another sheet? Now I get the error message "400" when I attempt this. I use Office 2010.

    Also, is it possible to copy so that empty lines are deleted? I have a big document and I copy some cells with hundreds of non-copied rows between them. This makes for a rather bulky output.
  • To post as a guest, your comment is unpublished.
    Yunivor · 5 years ago
    I found that if you have the Clipboard task plane open you can copy multiple rows simply using ctrl+C and paste them in order with crtl+V using Excel 2007.
  • To post as a guest, your comment is unpublished.
    M · 6 years ago
    Thank you SOOOOOO much - what a great site
  • To post as a guest, your comment is unpublished.
    Lyn Mc · 6 years ago
    Found above explanation of options to copy multiple ranges very helpful - thanks! I used the 'clipboard' option to copy multiple rows. Had to select each group of consecutive rows and copy it, move on and select next row or group of consecutive rows and copy it, etc.. But after this its easy, go to where you want to paste them, eg a new sheet, and click 'Paste all' from the Clipboard and all the rows are copied to there with out any gaps! Exactly what I wanted - thanks again!
  • To post as a guest, your comment is unpublished.
    Abani Pattanayak · 6 years ago
    I want to select the rows like 1, 5,6,10. so how can i copy these rows ???
    • To post as a guest, your comment is unpublished.
      David Hedin · 5 years ago
      In this case you can just select the rows and copy them as usual.
      • To post as a guest, your comment is unpublished.
        K Raj · 4 years ago
        How can I copy cell a1, e5, g2, and so on.... (more than 1000 cells in same column) and paste them into b1, f5, h2 (right into the next column in same row.)