Page 1 of 1
อยากนำข้อมูลจากไฟล์อื่นแต่ไม่ให้ดึงจากSheetที่1แต่อยากให้ดึงจากsheet2หรือ3ครับอาจารย์
Posted: Sat Apr 09, 2022 4:47 pm
by ballkoong
อยากให้นำข้อมูลจากไฟล์อื่นแต่ไม่ให้ดึงจากSheetที่1แต่อยากให้ดึงจากsheet2หรือsheet3 ต้องทำอย่างไรครับอาจารย์
Code: Select all
Sub CollectData()
Dim wb As Workbook, s As Worksheet, db As Worksheet '
Dim StrPath As Variant, i As Integer, f As Byte
StrPath = Application.GetOpenFilename(FileFilter:="Excel File (*.xls*),*.xls*", _
MultiSelect:=True) 'StrPath คือ Excel
If TypeName(StrPath) = "Boolean" Then Exit Sub 'ถ้าไม่เลือกให้ออก
Set db = ThisWorkbook.Sheets(1) 'db คือ workbook
db.UsedRange.ClearContents 'เคลียร์ค่าเก่าออก
Application.ScreenUpdating = False 'ไม่ให้หน้าจอมีวูปวาบ
For i = 1 To UBound(StrPath) '
Set wb = Workbooks.Open(StrPath(i))
For Each s In wb.Worksheets
f = IIf(db.Range("a1").Value = "", 0, 1) 'ถ้านำข้อมูลมาวางแล้วไม่ต้องเอาหัวคอลัม ถ้ายังไม่มีให้เอาหัวมาด้วย
If s.Range("a1").Value <> "" Then 'ถ้าเอ1ไม่เท่ากับค่าว่าง
s.UsedRange.Offset(f, 0).Copy 'ให้คัดลอกมาวาง
With db 'วางที่sheet1
.Range("a" & .Rows.Count).End(xlUp).Offset(f, 0) _
.PasteSpecial xlPasteValues
End With
End If
Next s
wb.Close False
Application.CutCopyMode = False
Next i
Application.ScreenUpdating = True 'คือค่าเก่าต่อจากที่วูปวาป
MsgBox "Finished.", vbInformation 'เสร็จแล้วเเจ้งข้อความ
End Sub
Re: อยากนำข้อมูลจากไฟล์อื่นแต่ไม่ให้ดึงจากSheetที่1แต่อยากให้ดึงจากsheet2หรือ3ครับอาจารย์
Posted: Mon Apr 11, 2022 8:30 am
by snasui

ตัวอย่างการปรับ Code ครับ
Code: Select all
'Other code
Set wb = Workbooks.Open(StrPath(i))
For Each s In wb.Worksheets
if s.name <> "Sheet1" then
f = IIf(db.Range("a1").Value = "", 0, 1) 'ถ้านำข้อมูลมาวางแล้วไม่ต้องเอาหัวคอลัม ถ้ายังไม่มีให้เอาหัวมาด้วย
If s.Range("a1").Value <> "" Then 'ถ้าเอ1ไม่เท่ากับค่าว่าง
s.UsedRange.Offset(f, 0).Copy 'ให้คัดลอกมาวาง
With db 'วางที่sheet1
.Range("a" & .Rows.Count).End(xlUp).Offset(f, 0) _
.PasteSpecial xlPasteValues
End With
End If
end if
Next s
'Other code
Re: อยากนำข้อมูลจากไฟล์อื่นแต่ไม่ให้ดึงจากSheetที่1แต่อยากให้ดึงจากsheet2หรือ3ครับอาจารย์
Posted: Mon Apr 18, 2022 8:28 am
by ballkoong
ขอโทษครับ อาจารย์ ผมนำไป Run แล้ว ติด Error นี้ครับ
Re: อยากนำข้อมูลจากไฟล์อื่นแต่ไม่ให้ดึงจากSheetที่1แต่อยากให้ดึงจากsheet2หรือ3ครับอาจารย์
Posted: Mon Apr 18, 2022 11:27 am
by puriwutpokin
ประกาศตัวแปรที่เดิม มีด้วยครับ เช่นตัวนี้
Re: อยากนำข้อมูลจากไฟล์อื่นแต่ไม่ให้ดึงจากSheetที่1แต่อยากให้ดึงจากsheet2หรือ3ครับอาจารย์
Posted: Tue Apr 19, 2022 7:19 am
by snasui
ballkoong wrote: Mon Apr 18, 2022 8:28 am
ขอโทษครับ อาจารย์ ผมนำไป Run แล้ว ติด Error นี้ครับ

ที่ผมตอบไปนั้นเป็นเพียงส่วนสำคัญที่ต้องปรับ คำว่า
'Other code คือ Code ที่มีอยู่เดิมที่ต้องใช้ประกอบกัน ดูที่คุณ puriwutpokin แนะนำเพิ่มเติมเพื่อประกอบความเข้าใจด้วยครับ
puriwutpokin wrote: Mon Apr 18, 2022 11:27 am
ประกาศตัวแปรที่เดิม มีด้วยครับ เช่นตัวนี้