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

วิธีรวมสมุดงานหลายเล่มไว้ในสมุดงานหลักใน Excel

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


รวมสมุดงานหลายเล่มไว้ในสมุดงานเดียวด้วยฟังก์ชันย้ายหรือคัดลอก

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

1. เปิดสมุดงานที่คุณจะรวมเข้ากับสมุดงานหลัก

2. เลือกแผ่นงานในสมุดงานต้นฉบับที่คุณจะย้ายหรือคัดลอกไปยังสมุดงานหลัก

หมายเหตุ:

1). คุณสามารถเลือกแผ่นงานที่ไม่อยู่ติดกันได้หลายแผ่นโดยถือไฟล์ Ctrl คีย์และคลิกแท็บแผ่นงานทีละรายการ

2). สำหรับการเลือกแผ่นงานที่อยู่ติดกันหลายแผ่นโปรดคลิกที่แท็บแผ่นงานแรกค้างไว้ เปลี่ยน จากนั้นคลิกแท็บแผ่นงานสุดท้ายเพื่อเลือกทั้งหมด

3). คุณสามารถคลิกขวาที่แท็บแผ่นงานใดก็ได้คลิกที่ เลือกแผ่นงานทั้งหมด จากเมนูบริบทเพื่อเลือกแผ่นงานทั้งหมดในสมุดงานพร้อมกัน

3. หลังจากเลือกแผ่นงานที่ต้องการแล้วให้คลิกขวาที่แท็บแผ่นงานจากนั้นคลิก ย้ายหรือคัดลอก จากเมนูบริบท ดูภาพหน้าจอ:

4. จากนั้น ย้ายหรือคัดลอก กล่องโต้ตอบจะปรากฏขึ้นในไฟล์ หนังสือ แบบเลื่อนลงเลือกสมุดงานหลักที่คุณจะย้ายหรือคัดลอกเวิร์กชีต เลือกย้ายเพื่อสิ้นสุดในไฟล์ ก่อนแผ่นงาน ให้ทำเครื่องหมายที่ สร้างสำเนา แล้วคลิกไฟล์ OK ปุ่ม

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


รวมสมุดงานหลายเล่มหรือแผ่นงานที่ระบุเข้ากับสมุดงานหลักด้วย VBA

หากจำเป็นต้องรวมสมุดงานหลายเล่มเข้าด้วยกันคุณสามารถใช้รหัส VBA ต่อไปนี้เพื่อใช้งานได้อย่างรวดเร็ว กรุณาดำเนินการดังนี้

1. ใส่สมุดงานทั้งหมดที่คุณต้องการรวมไว้ในไดเร็กทอรีเดียวกัน

2. เปิดไฟล์ Excel (สมุดงานนี้จะเป็นสมุดงานหลัก)

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

รหัส VBA 1: รวมสมุดงาน Excel หลายเล่มเข้าด้วยกัน

Sub GetSheets()
'Updated by Extendoffice 2019/2/20
Path = "C:\Users\dt\Desktop\dt kte\"
Filename = Dir(Path & "*.xlsx")
  Do While Filename <> ""
  Workbooks.Open Filename:=Path & Filename, ReadOnly:=True
     For Each Sheet In ActiveWorkbook.Sheets
     Sheet.Copy After:=ThisWorkbook.Sheets(1)
  Next Sheet
     Workbooks(Filename).Close
     Filename = Dir()
  Loop
End Sub
	

หมายเหตุ:

1. รหัส VBA ด้านบนจะเก็บชื่อแผ่นงานของสมุดงานต้นฉบับไว้หลังจากรวมเข้าด้วยกัน

2. หากคุณต้องการแยกว่าแผ่นงานใดในสมุดงานหลักมาจากที่ใดหลังจากการรวมโปรดใช้รหัส VBA ด้านล่าง 2

3. หากคุณต้องการรวมแผ่นงานที่ระบุไว้ในสมุดงานหลักรหัส VBA 3 ด้านล่างสามารถช่วยได้

ในรหัส VBA“C: \ Users \ DT168 \ Desktop \ KTE \” คือเส้นทางโฟลเดอร์ ในรหัส VBA 3 "Sheet1, Sheet3"คือแผ่นงานที่ระบุของสมุดงานที่คุณจะรวมเข้ากับสมุดงานหลักคุณสามารถเปลี่ยนได้ตามความต้องการของคุณ

รหัส VBA 2: รวมสมุดงานเป็นหนึ่ง (แต่ละแผ่นงานจะได้รับการตั้งชื่อด้วยคำนำหน้าชื่อไฟล์เดิม):

Sub MergeWorkbooks()
'Updated by Extendoffice 2019/2/20
Dim xStrPath As String
Dim xStrFName As String
Dim xWS As Worksheet
Dim xMWS As Worksheet
Dim xTWB As Workbook
Dim xStrAWBName As String
On Error Resume Next
xStrPath = "C:\Users\DT168\Desktop\KTE\"
xStrFName = Dir(xStrPath & "*.xlsx")
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xTWB = ThisWorkbook
Do While Len(xStrFName) > 0
    Workbooks.Open Filename:=xStrPath & xStrFName, ReadOnly:=True
    xStrAWBName = ActiveWorkbook.Name
    For Each xWS In ActiveWorkbook.Sheets
    xWS.Copy After:=xTWB.Sheets(xTWB.Sheets.Count)
    Set xMWS = xTWB.Sheets(xTWB.Sheets.Count)
    xMWS.Name = xStrAWBName & "(" & xMWS.Name & ")"
    Next xWS
    Workbooks(xStrAWBName).Close
    xStrFName = Dir()
Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

รหัส VBA 3: ผสานเวิร์กชีทที่ระบุไว้ในสมุดงานหลัก:

Sub MergeSheets2()
'Updated by Extendoffice 2019/2/20
Dim xStrPath As String
Dim xStrFName As String
Dim xWS As Worksheet
Dim xMWS As Worksheet
Dim xTWB As Workbook
Dim xStrAWBName As String
Dim xI As Integer
On Error Resume Next

xStrPath = " C:\Users\DT168\Desktop\KTE\"
xStrName = "Sheet1,Sheet3"

xArr = Split(xStrName, ",")

Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xTWB = ThisWorkbook
xStrFName = Dir(xStrPath & "*.xlsx")
Do While Len(xStrFName) > 0
Workbooks.Open Filename:=xStrPath & xStrFName, ReadOnly:=True
xStrAWBName = ActiveWorkbook.Name
For Each xWS In ActiveWorkbook.Sheets
For xI = 0 To UBound(xArr)
If xWS.Name = xArr(xI) Then
xWS.Copy After:=xTWB.Sheets(xTWB.Sheets.count)
Set xMWS = xTWB.Sheets(xTWB.Sheets.count)
xMWS.Name = xStrAWBName & "(" & xArr(xI) & ")"
Exit For
End If
Next xI
Next xWS
Workbooks(xStrAWBName).Close
xStrFName = Dir()
Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True

End Sub

4 กด F5 กุญแจสำคัญในการเรียกใช้รหัส จากนั้นแผ่นงานทั้งหมดหรือแผ่นงานที่ระบุของสมุดงานในโฟลเดอร์นั้นจะรวมเข้ากับสมุดงานหลักพร้อมกัน


รวมสมุดงานหลายชุดหรือแผ่นงานที่ระบุไว้ในสมุดงานเดียวได้อย่างง่ายดาย

โชคดีที่ รวมกัน ยูทิลิตี้สมุดงานของ Kutools สำหรับ Excel ทำให้ง่ายขึ้นมากในการรวมสมุดงานหลายเล่มเป็นหนึ่งเดียว มาดูวิธีทำให้ฟังก์ชันนี้ทำงานในการรวมสมุดงานหลายชุด

ก่อนที่จะใช้ Kutools สำหรับ Excelโปรด ดาวน์โหลดและติดตั้งในตอนแรก.

1. สร้างสมุดงานใหม่แล้วคลิก Kutools พลัส > รวมกัน. จากนั้นกล่องโต้ตอบจะปรากฏขึ้นเพื่อเตือนคุณว่าควรบันทึกเวิร์กบุ๊กรวมทั้งหมดและไม่สามารถใช้คุณลักษณะนี้กับเวิร์กบุ๊กที่มีการป้องกันได้โปรดคลิกที่ OK ปุ่ม

2 ใน รวมแผ่นงาน ตัวช่วยสร้างเลือก รวมแผ่นงานหลายแผ่นจากสมุดงานไว้ในสมุดงานเดียว จากนั้นคลิกตัวเลือก ต่อไป ปุ่ม. ดูภาพหน้าจอ:

3 ใน รวมแผ่นงาน - ขั้นตอนที่ 2 จาก 3 ใหคลิกปุ the ม เพิ่ม > เนื้อไม่มีมัน or โฟลเดอร์ เพื่อเพิ่มไฟล์ Excel คุณจะรวมเป็นไฟล์เดียว หลังจากเพิ่มไฟล์ Excel แล้วให้คลิกไฟล์ เสร็จสิ้น และเลือกโฟลเดอร์เพื่อบันทึกสมุดงานหลัก ดูภาพหน้าจอ:

ตอนนี้สมุดงานทั้งหมดรวมเป็นหนึ่งเดียว

เมื่อเทียบกับสองวิธีข้างต้น Kutools สำหรับ Excel มีข้อดีดังต่อไปนี้:

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

  หากคุณต้องการทดลองใช้ยูทิลิตีนี้ฟรี (30 วัน) กรุณาคลิกเพื่อดาวน์โหลดแล้วไปใช้การดำเนินการตามขั้นตอนข้างต้น


Kutools สำหรับ Excel - ช่วยให้คุณทำงานเสร็จก่อนเวลาเสมอมีเวลาสนุกกับชีวิตมากขึ้น
คุณมักพบว่าตัวเองมัว แต่เล่นงานไม่มีเวลาทำเพื่อตัวเองและครอบครัว?  Kutools สำหรับ Excel สามารถช่วยคุณจัดการกับปริศนา Excel 80% และปรับปรุงประสิทธิภาพการทำงาน 80% ให้คุณมีเวลาดูแลครอบครัวมากขึ้นและสนุกกับชีวิต
เครื่องมือขั้นสูง 300 รายการสำหรับสถานการณ์การทำงาน 1500 รายการทำให้งานของคุณง่ายขึ้นกว่าที่เคย
ไม่จำเป็นต้องจำสูตรและรหัส VBA อีกต่อไปให้สมองของคุณได้พักผ่อนตั้งแต่บัดนี้เป็นต้นไป
การดำเนินการที่ซับซ้อนและซ้ำ ๆ สามารถดำเนินการครั้งเดียวในไม่กี่วินาที
ลดการใช้งานคีย์บอร์ดและเมาส์นับพันทุกวันบอกลาโรคจากการทำงานได้เลย
เป็นผู้เชี่ยวชาญด้าน Excel ใน 3 นาทีช่วยให้คุณได้รับการยอมรับอย่างรวดเร็วและโปรโมชั่นเพิ่มเงิน
110,000 คนที่มีประสิทธิภาพสูงและทางเลือกของ บริษัท ที่มีชื่อเสียงระดับโลกกว่า 300 บริษัท
ทำให้ $ 39.0 ของคุณคุ้มค่ากว่า $ 4000.0 การฝึกอบรมของผู้อื่น
ทดลองใช้ฟรี 30 วัน รับประกันคืนเงิน 60 วันโดยไม่มีเหตุผล

จัดเรียงความคิดเห็นโดย
ความคิดเห็น (146)
ยังไม่มีการให้คะแนน เป็นคนแรกที่ให้คะแนน!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีโปรดช่วยฉันด้วยเงื่อนไขด้านล่างนี้ ฉันมีสมุดงานที่แตกต่างกันซึ่งมีมากกว่า 5 แผ่นงานในเส้นทางที่ต่างกัน ฉันต้องการรวมแผ่นงานทั้งหมดจากสมุดงานต่างๆ ไว้ในสมุดงานเดียว ใครก็ได้ช่วยฉันแก้ไขด้วย macro.TIA!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
[quote]สวัสดีโปรดช่วยฉันด้วยเงื่อนไขด้านล่างนี้ ฉันมีสมุดงานที่แตกต่างกันซึ่งมีมากกว่า 5 แผ่นงานในเส้นทางที่ต่างกัน ฉันต้องการรวมแผ่นงานทั้งหมดจากสมุดงานต่างๆ ไว้ในสมุดงานเดียว ใครก็ได้ช่วยฉันแก้ไขด้วย macro.TIA!โดย อ. กฤติ[/quote] โปรดไปดาวน์โหลดและติดตั้ง Kutools for Excel คุณสามารถทำได้อย่างรวดเร็ว แต่ถ้าคุณต้องการใช้ VBA มันอาจจะซับซ้อนเกินไป สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำให้เสร็จ โปรดไปที่:http://www.extendoffice.com/product/kutools-for-excel/excel-combine-worksheets-into-one.html
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
KUTOOLS โซลูชั่นที่ยอดเยี่ยม ฉันต้องการความช่วยเหลือเพิ่มเติมเมื่อสร้างเวิร์กบุ๊กหลัก จากนั้นสีเซลล์ของเวิร์กชีตจะเปลี่ยนจากเวิร์กชีตต้นฉบับ ฉันจะเก็บมันไว้เหมือนแผ่นงานต้นฉบับได้อย่างไร
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สำนักงานของเรามีข้อมูลซ้ำกัน (เช่น ชื่อ ที่อยู่ เมือง จำนวน วันที่ลงนาม) จากต้นฉบับ Excel หลายฉบับ และกำลังพยายามรวมข้อมูลเข้าด้วยกัน จะทำอย่างไรเพื่อขจัดการทำงานซ้ำซ้อนและการป้อนข้อมูลซ้ำซ้อน?
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันได้รับ 'ข้อผิดพลาดรันไทม์ 1004' วิธีการคัดลอกของคลาสเวิร์กชีตล้มเหลวในบรรทัดที่เขียนว่า: Sheet.Copy After:=ThisWorkbook.Sheets(1) ฉันใช้ Excel 2010 คุณช่วยได้ไหม ขอบคุณ - ซูซี่
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี Susie ฉันเคยแก้ไขปัญหานี้มาระยะหนึ่งแล้ว โดยได้รับข้อผิดพลาดแบบเดียวกัน ตรวจสอบเพื่อดูว่าโมดูลถูกสร้างขึ้นภายใต้ส่วนบุคคลแทนที่จะเป็นสมุดงานที่ใช้งานอยู่ของคุณ เมื่อฉันสร้างโมดูลภายใต้แผนผังที่ถูกต้องแล้ว โค้ดด้านล่างก็ใช้ได้ดี Sub GetSheets_xls() Dim Sheet As Worksheet Path = "C:\Users\yournamehere\Desktop\Testingfolder\" Filename = Dir(Path & "*.xls") Do while Filename "" Workbooks.Open Filename:=Path & Filename, ReadOnly:=False Set Sheet = ActiveWorkbook.Sheets(1) Sheet.Copy After:=ThisWorkbook.Sheets(1) 'Next Sheet Workbooks(Filename).Close Filename = Dir() Loop End Sub หวังว่านี่จะช่วยได้!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอบคุณมาก. รหัสของคุณทำงานได้ดี
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
[quote]ฉันได้รับ 'ข้อผิดพลาดรันไทม์ 1004', Copy Method of Worksheet class ล้มเหลวในบรรทัดที่เขียนว่า: Sheet.Copy After:=ThisWorkbook.Sheets(1) ฉันใช้ Excel 2010 คุณช่วยได้ไหม ขอบคุณ - ซูซี่โดย ซูซี่[/quote] มีปัญหาเดียวกัน มันใช้งานได้เมื่อฉันไปดูและเลิกซ่อน "ส่วนบุคคล" ดูเหมือนว่าจะมีปัญหาในการเข้าถึงมาโครนี้โดยซ่อนต้นแบบไว้
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ไปที่ดูและเลิกซ่อน "ส่วนบุคคล" - ดูเหมือนว่าจะมีปัญหาในการดำเนินการโค้ดทั้งหมดในขณะที่ซ่อนต้นแบบ คุณสามารถสร้างแมโครเนทีฟให้กับเวิร์กบุ๊กนั้นได้ แต่คุณต้องสร้างใหม่ทั้งหมดทุกครั้งที่คุณต้องการใช้
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี! ขอบคุณมากสำหรับไฟล์นี้............. :roll: ขอแสดงความนับถือ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เฮ้ ทิปสุดยอด เคยทำ เกือบจะ ทั้งหมดที่ฉันต้องการ. ใน combinde woorkbook ฉันจะชอบชื่อเวิร์กชีตที่มีชื่อของ woorkbook ดั้งเดิม ฉันจึงรู้ว่าข้อมูลนั้นมาจากไหน ข้อมูลที่ฉันกำลังรวม มาจากไฟล์เก็บถาวรต่างๆ ฉันต้องค้นหารายการ แต่ไม่ทราบว่าอยู่ในไฟล์ใด ดังนั้นการรวมข้อมูลทั้งหมดไว้ในไฟล์เดียวจะทำให้ฉันสามารถค้นหาไฟล์เก็บถาวรทั้งหมดในครั้งเดียวได้ แต่ฉันยังต้องการทราบข้อมูลที่เก็บถาวรอยู่ Henrik
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สำหรับรหัสที่จะรวมชื่อไฟล์ให้ทำสิ่งนี้ Sub GetSheets() Dim temp As String Path = "C:\Users\....\Desktop\Excel รวม\" ชื่อไฟล์ = Dir(Path & "*.xlsx") Do while Filename "" Workbooks.Open Filename:= เส้นทาง & ชื่อไฟล์ อ่านอย่างเดียว:=True temp = ActiveWorkbook.Name ActiveSheet.Name = temp ActiveWorkbook.Sheets(temp).Copy After:=ThisWorkbook.Sheets(1) Workbooks(Filename).Close Filename = Dir() Loop End Sub Note : นี้เพื่อคัดลอกแผ่นแรกเท่านั้น มันสามารถ tweeked เพื่อทำแผ่นทั้งหมด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
คุณจะรวมแผ่นงานเพิ่มเติมได้อย่างไรและคุณจะระบุไฟล์ต้นแบบอื่นเพื่อวางแผ่นงานทั้งหมดได้อย่างไร
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
มันเป็นทางออกที่ดีจริงๆ ขอบคุณ. ปัญหาหนึ่งคือ เมื่อฉันดำเนินการเหมือน excel นี้จะถามว่าฉันต้องการบันทึกการเปลี่ยนแปลงก่อนปิดหรือไม่ (เนื่องจากมีการเปลี่ยนชื่อ) และฉันไม่ต้องการทำกับทุกไฟล์ (ประมาณ 32 ต่อการดำเนินการต่อครั้ง) จะมีวิธีแก้ปัญหานี้หรือไม่?
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สุดยอดเลยครับ :lol: ช่วยผมได้เยอะ....
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอบคุณเพื่อน คุณทำวันของฉันจากเว็บไซต์ที่เป็นประโยชน์มากนี้... จริงๆ แล้วฉันต้องการรวมข้อมูลส่วนหัวเดียวกันของชีตต่างๆ ไว้ในเวิร์กชีตหลัก 1 แผ่น KUTOOL สำหรับ Excel ช่วยฉันได้มาก.... ขอบคุณอีกครั้ง .... :)
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอบคุณมากสำหรับข้อมูลที่มีค่า มันได้ผลจริงๆ ขั้นตอนที่ระบุไว้ในบทความนี้ทำให้งานของฉันง่ายขึ้นจริงๆ ขอบคุณ Dinesh
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอบคุณสำหรับการแบ่งปันความรู้ของคุณ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
คุณจะได้รับการอัปเดตการเปลี่ยนแปลงจากสมุดงานต้นฉบับได้อย่างไร ฉันกำลังพยายามรับข้อมูลสรุประดับประเทศซึ่งแต่ละภูมิภาคจะป้อนข้อมูลลงในสมุดงานของตนเอง แล้วมีสรุประดับประเทศที่อัปเดตจากสิ่งนี้หรือไม่ ฉันต้องการตั้งค่านี้สำหรับทั้งปีตั้งแต่ต้นและไม่ต้องดำเนินการย้อนหลัง
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
หลังจากรวมเวิร์กชีตในสมุดงานเดียว คุณจะบันทึกได้อย่างไร ฉันไม่สามารถบันทึกในชื่อ Book1 และฉันกำลังคลิกบันทึกหรือบันทึกแต่ไม่ทำงาน ข้อเสนอแนะใด ๆ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันทำตามขั้นตอนใน "รวมสมุดงานหลายเล่มเป็นสมุดงานเดียวด้วย VBA" แล้วคลิก "เรียกใช้" ไม่มีอะไรเกิดขึ้น ฉันไม่ทราบข้อผิดพลาดและไม่แน่ใจว่าจะแก้ไขอย่างไร คุณช่วยฉันได้มั้ย? ต่อไปนี้เป็นรหัสที่ฉันป้อนในสมุดงานใหม่ ขอขอบคุณ Sub GetSheets() Path = "p:\download\macro\" Filename = Dir(Path & "*.xls") Do while Filename "" Workbooks.Open Filename:=Path & Filename, ReadOnly:=True For Each Sheet In ActiveWorkbook.Sheets Sheet.Copy After:=ThisWorkbook.Sheets(1) แผ่นงานถัดไป (ชื่อไฟล์).Close Filename = Dir() Loop End Sub
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เรียน คุณ/ท่านผู้หญิง: ฉันทำตามขั้นตอนของ "รวมสมุดงานหลายเล่มเป็นสมุดงานเดียวด้วย VBA" เพื่อตั้งค่าโมดูลต่อไปนี้ แต่ไม่มีอะไรเกิดขึ้น คุณช่วยฉันค้นหาปัญหาได้ไหม ขอบคุณ Sub GetSheets() Path = "p:\download\macro\" Filename = Dir(Path & "*.xls") Do while Filename "" Workbooks.Open Filename:=Path & Filename, ReadOnly:=True For Each แผ่นงานใน ActiveWorkbook.Sheets Sheet.Copy After:=ThisWorkbook.Sheets(1) Next Sheet Workbooks(Filename).Close Filename = Dir() Loop End Sub
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สำหรับ excel เวอร์ชันใหม่กว่านี้ ให้ลองสิ่งนี้ ฉันบันทึกเวิร์กบุ๊กที่เปิดไว้เป็นแค็ตตาล็อก และไฟล์ทั้งหมดอยู่ใน c:\temp Sub GetSheets() Path = "c:\temp\" Filename = Dir(Path & "*.xls") Do while Filename "" Workbooks.Open Filename:=Path & Filename, ReadOnly:=True For Each Sheet In ActiveWorkbook. แผ่นงาน Sheet.Copy After:=Workbooks("catalog.xlsx") Sheets(1) Next Sheet Workbooks(Filename).Close Filename = Dir() Loop End Sub
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ลองใช้วิธีนี้กับ excel เวอร์ชันใหม่กว่า ฉันบันทึกสมุดงานเป็นแค็ตตาล็อก ไฟล์ทั้งหมดอยู่ใน c:\temp Sub GetSheets() Path = "c:\temp\" Filename = Dir(Path & "*.xls") Do while Filename "" Workbooks.Open Filename:=Path & Filename, ReadOnly:=True For Each Sheet In ActiveWorkbook. แผ่นงาน Sheet.Copy After:=Workbooks("catalog.xlsx") Sheets(1) Next Sheet Workbooks(Filename).Close Filename = Dir() Loop End Sub
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
[quote]ลองใช้ excel เวอร์ชันใหม่กว่านี้ ฉันบันทึกสมุดงานเป็นแค็ตตาล็อก ไฟล์ทั้งหมดอยู่ใน c:\temp Sub GetSheets() Path = "c:\temp\" Filename = Dir(Path & "*.xls") Do while Filename "" Workbooks.Open Filename:=Path & Filename, ReadOnly:=True For Each Sheet In ActiveWorkbook. ชีต Sheet.Copy After:=Workbooks("catalog.xlsx") ชีต (1) เวิร์กบุ๊กชีตถัดไป (ชื่อไฟล์).Close Filename = Dir() Loop End SubBy เดฟ[/quote] ฉันได้รับ "ไม่สามารถกำหนดให้กับคุณสมบัติแบบอ่านอย่างเดียว" เกี่ยวกับเส้นทาง... มีความคิดอะไรบ้าง?
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันมีปัญหา tis เกินไป คุณคิดออกหรือไม่
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ยังไม่มีอะไร... ยังไม่พบวิธีแก้ไขใดๆ หรือมีใครแนะนำวิธีแก้ไข เสียใจ...
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันด้วย. มันใช้งานได้เมื่อ 6 เดือนที่แล้ว ครั้งสุดท้ายที่ฉันต้องเรียกใช้ มีใครพบวิธีแก้ปัญหาหรือยัง? หากคุณเคยใช้งานมาก่อนและตอนนี้ใช้งานไม่ได้ อาจเกี่ยวข้องกับการอัปเดตโดย Microsoft หรือไม่ นี่เป็นเครื่องมือที่สะดวกมากสำหรับงานของฉันและช่วยประหยัดเวลาได้มาก มีอะไรเปลี่ยนแปลงที่อาจทำให้ Excel เริ่มแสดงข้อความนี้ในทันที ฉันยังใหม่กับ VBA อยู่เลย ฉันไม่ค่อยรู้ว่าจะเริ่มวิเคราะห์ตรรกะได้ที่ไหน ขอแสดงความนับถือ Gregg กลาสโกว์ สกอตแลนด์.
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ดูเหมือนว่าขณะนี้ "เส้นทาง" ถูกสงวนไว้ ดังนั้นให้ใช้ชื่ออื่นและแทนที่ "เส้นทาง" เช่น "เส้นทางของฉัน"
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
บางทีคุณควรเปลี่ยน ReadOnly:=True to ReadOnly:=False ฉันได้ทำไปแล้วและมีประโยชน์
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันกำลังมองหาบางสิ่งบางอย่างตามบรรทัดเหล่านี้ แต่ต้องการแสดงความคิดเห็น ชื่อไฟล์ Do while "" ไม่จำเป็นต้องเป็นอย่างอื่นนอกจาก "" ใช่ไหม หรือฉันอ่านผิด? อาจจะทำในขณะที่ไม่ filename = "" แค่คิด...
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันต้องการรวมชีตทั้งหมดเป็นแผ่นเดียวที่มีหัวข้อทั่วไป...ได้โปรดช่วยด้วย
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี ฉันลองใช้มาโครด้านบนเพื่อจัดเรียงไฟล์บางไฟล์ แต่น่าเสียดายที่ไม่มีผลลัพธ์... ใครสามารถช่วยฉันกำจัดการเรียงไฟล์ด้วยตนเองได้
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันมีแผ่นงาน excel 112 แผ่น ฉันต้องการใส่ลงในแผ่นงานเดียวโดยไม่ต้องคัดลอกและวาง กรุณาช่วยฉันออกไป.
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันมีสมุดงานที่มีประมาณ 250 แผ่น ต้องโคเบนในใบเดียว ได้โปรดให้ทางออกแก่ฉันที
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ลองดูสิ...ฉันได้รับมาจากไซต์อื่น แต่น่าเสียดายที่ฉันจำชื่อผู้หญิงไม่ได้ ดังนั้นฉันขอโทษที่ไม่ได้พูดถึงเธอ ฉันแย่" รวม WB หลายอันใน Excel: REMEMBER TO CHANGE MyPath = ! Sub Merge2MultiSheets( ) Dim wbDst As Workbook Dim wbSrc As Workbook Dim wsSrc As Worksheet Dim MyPath As String Dim strFilename As String Application.DisplayAlerts = False Application.EnableEvents = False Application.ScreenUpdating = False MyPath = "\\MyPath\etc\etc..." Set wbDst = Workbooks.Add(xlWBATWorksheet) strFilename = Dir(MyPath & "\*.xls", vbNormal) หาก Len (strFilename) = 0 จากนั้นออกจาก Sub Do จนกระทั่ง strFilename = "" Set wbSrc = Workbooks.Open (ชื่อไฟล์:= MyPath & "\" & strFilename) Set wsSrc = wbSrc.Worksheets(1) wsSrc.Copy After:=wbDst.Worksheets(wbDst.Worksheets.Count) wbSrc.Close False strFilename = Dir() Loop wbDst.Worksheets(1) ลบ Application.DisplayAlerts = True Application.EnableEvents = True Application.ScreenUpdating = True End Sub
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี ฉันเพิ่มรหัสลงในโมดูลแล้ว ตั้งชื่อหนังสือ Excel Masterfile ฉันจะเพิ่มรหัสได้ที่ไหน ขอบคุณ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สิ่งเหล่านี้ไม่ได้ผลสำหรับฉันในที่สุดฉันก็ใช้งานได้ FYI ฉันใช้ 2010 'Description: รวมไฟล์ทั้งหมดในโฟลเดอร์เป็นไฟล์หลัก Sub MergeFiles () เส้นทางสลัวเป็นสตริง, ThisWB เป็นสตริง, lngFilecounter ยาวสลัว wbDest เป็นเวิร์กบุ๊ก, shtDest เป็นเวิร์กชีต, ws เป็นเวิร์กชีต Dim ชื่อไฟล์เป็นสตริง, Wkb เป็นเวิร์กบุ๊ก Dim CopyRng เป็นช่วง, Dest As Range Dim RowofCopySheet เป็นจำนวนเต็ม RowofCopySheet = 2 ' แถวที่จะเริ่มต้นในชีตที่คุณกำลังคัดลอกจาก ThisWB = ActiveWorkbook.Name path = "mypath....." ' อย่าลืมเปลี่ยน Application.EnableEvents = False Application.ScreenUpdating = False Set shtDest = ActiveWorkbook .ชีต(1) ชื่อไฟล์ = Dir(เส้นทาง & "\*.xls", vbNormal) ถ้า Len (ชื่อไฟล์) = 0 จากนั้นออกจาก Sub ทำจนชื่อไฟล์ = vbNullString ถ้าไม่ใช่ชื่อไฟล์ = ThisWB จากนั้นให้ตั้งค่า Wkb = Workbooks.Open (ชื่อไฟล์: =เส้นทาง & "\" & ชื่อไฟล์) ตั้งค่า CopyRng = Wkb.Sheets(1).Range(Cells(RowofCopySheet, 1), Cells(ActiveSheet.UsedRange.Rows.Count, ActiveSheet.UsedRange.Columns.Count)) Set Dest = shtDest.Range("A" & shtDest.UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1) CopyRng.Copy Dest Wkb.Close False End If Filename = Dir() Loop Rang e("A1") เลือก Application.EnableEvents = True Application.ScreenUpdating = True MsgBox "เสร็จสิ้น!" จบซับ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันจะแก้ไขสิ่งนี้ได้อย่างไรเพื่อให้ข้อมูลที่ดึงเข้ามาเริ่มต้นที่แถวบนสุดเสมอ ถ้าฉันรันโค้ดนี้สองครั้ง มันจะเพิ่มข้อมูลต่อท้ายข้อมูลก่อนหน้าของฉัน (จากการรันมาโครครั้งแรก)
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เปลี่ยนบรรทัดนี้: RowofCopySheet = 2 เป็น RowofCopySheet = 1
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี ฉันมีโฟลเดอร์ Excel (แผ่นเดียว) หลายไฟล์ที่มีการป้องกันด้วยรหัสผ่าน ฉันต้องการสิ้นสุดวันรวมข้อมูลทั้งหมดเป็นไฟล์มาสเตอร์ไฟล์เดียว ทุกครั้งที่ฉันต้องป้อนรหัสผ่านและเปิดไฟล์และคัดลอกวางไปยังไฟล์หลัก .. กรุณาช่วยฉันด้วยรหัส VBA สำหรับสิ่งนี้
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
โหลดเพิ่มเติม
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0   ตัวอักษร
สถานที่แนะนำ