รบกวนสอบถามข้อมูลไม่เรียงจากเซลล์ A1
Posted: Tue Dec 03, 2013 2:43 pm
สวัสดีครับ ขอความช่วยเหลือด้วยครับ
ประมาณว่า ผมต้องการรวมข้อมูลจากหลายๆ 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 นครับ
ประมาณว่า ผมต้องการรวมข้อมูลจากหลายๆ 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