สวัสดีครับ ขอความช่วยเหลือด้วยครับ
ประมาณว่า ผมต้องการรวมข้อมูลจากหลายๆ File เพื่อให้มารวมใน sheet เดียวครับ
เมื่อผมลองเขียน Code ดูปรากฏว่า สามารถ Copy ข้อมูลได้ทุกไฟล์และเรียงจาก A1-A50 ได้ตามปกติ ในsheetเดียว แต่ผมลองทำการลบข้อมูล ที่รวมไว้ใน sheet เดียว แล้วลอง Run Code ดูอีกที ปรากฏว่า ข้อมูลจะถูกเริ่มต้นที่ Cell สุดท้ายที่เคยได้ Run ข้อมูล เช่น Runครั้งที่ 1 เก็บข้อมูลตั้งแต่ A1-A30 ทำการลบข้อมูล A1-A30 Run ครั้งที่ 2 ปรากฏว่า ข้อมูลเเริ่มต้นตั้งแต่ A31 เป็นต้นไป
ส่วนไฟล์ที่เป็น Data เป็นไฟล์ .CSV ครับ มีทั้งหมด 10 ไฟล์
คำถาม! อยากทราบว่าต้องทำอย่างไร ข้อมูลที่ทำการ Run Code จึงมาอยู่ที่ A1 และต่อกันไปเรื่อยๅครับ
ปล. ผมพึ่งเริ่มหัดทำ VBA นครับ
Code: Select all
Public Sub copy1floder()
Set cell_to_paste_next_dataset = Cells(1, 1)
Set active_workbook = ActiveWorkbook
Set active_sheet = ActiveSheet
Application.DisplayAlerts = False
File_Path = "E:\Excel\¢éÍÁÙÅÊÓ¤ÑÇÒ§¢éÍÁÙÅ·Õè¹Õè"
strName = Dir(File_Path & "\" & "*.csv")
Do While strName <> vbNullString
If active_workbook.Name <> strName And strName <> "" Then
Workbooks.Open Filename:=File_Path & "\" & strName
Set dataset_workbook = ActiveWorkbook
Range(ActiveCell.SpecialCells(xlLastCell), Cells(1)).Copy
active_sheet.Activate
Cells(ActiveCell.SpecialCells(xlLastCell).Row, 1).Select
With [a655350].Offset.End(xlUp)
End With
ActiveSheet.Paste
dataset_workbook.Close
End If
strName = Dir
Loop
Application.DisplayAlerts = True
End Sub
You do not have the required permissions to view the files attached to this post.