Page 1 of 1
ดึงข้อมูล จาก workbooks ไปอีก workbooks
Posted: Thu Nov 14, 2019 9:15 am
by sarawut.a
*ขอรบกวนด้วยครับ*
ผมต้องการดึงข้อมูล หรือ Up Data จากอีก workbook ของ Excel file ชื่อว่า "Product Master list." โดยดึงข้อมูลจาก Sheet(Master list)
มาไว้อีก workbook ของ Excel file ชื่อว่า "Product Master list.(Sale)" โดยวางข้อมูลลงใน Sheet(master list) เช่นกันครับ
จะต้องใช้สูตร Excel หรือ VBA ทำอย่างไรได้ครับ
และผมลองทำ โดย Record Macro ไว้ แต่ไม่สมบูณ์ครับ
Re: ดึงข้อมูล จาก workbooks ไปอีก workbooks
Posted: Thu Nov 14, 2019 9:43 am
by parakorn
ไม่เห็นโค้ดในไฟล์แนบครับ
ลอง Save เป็น .xlsm และแนบโค้ดมาด้วย เพื่อนๆสมาชิกจะได้ช่วยกันดูได้ครับ
Re: ดึงข้อมูล จาก workbooks ไปอีก workbooks
Posted: Thu Nov 14, 2019 10:45 am
by sarawut.a
ถ้าดูจาก โค็ดในฎปแำส เหมือนจะ save ไม้ได้ครับ ผมได้ copy ไว้ในท้ายบรรทัดด้านล้างมาด้วยครับ
Sub Macro1()
Macro1 Macro
Windows("Product Master List..xlsx").Activate
Cells.Select
Selection.Copy
Windows("Product Master List.(Sale).xlsx").Activate
Cells.Select
ActiveSheet.Paste
Range("A1").Select
Application.CutCopyMode = False
ActiveWorkbook.Save
End Su
Re: ดึงข้อมูล จาก workbooks ไปอีก workbooks
Posted: Thu Nov 14, 2019 11:26 am
by sarawut.a
แนบไฟล์ ที่มีโค็ด มาให้ช่วยดูและแก้ไขครับ
Re: ดึงข้อมูล จาก workbooks ไปอีก workbooks
Posted: Thu Nov 14, 2019 2:56 pm
by parakorn
ตัวอย่างโค้ดครับ
Code: Select all
Sub Getdata()
'
Dim strPath As Variant, i As Integer
Dim tb As Workbook
Sheets(1).Select
On Error Resume Next
Cells.Select
Selection.ClearContents
On Error GoTo 0
Set tb = ThisWorkbook
strPath = Application.GetOpenFilename("Excel files(*.xlsx*),*.xlsx*", _
Title:="Please select text files.", MultiSelect:=True)
If TypeName(strPath) = "Boolean" Then Exit Sub
For i = 1 To UBound(strPath)
fName = VBA.Left(strPath(i), InStr(strPath(i), ".")) & "xlsx"
Workbooks.OpenText Filename:=strPath(i), origin:=65001, startrow:=1, DataType:=xlDelimited, textQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False _
, Comma:=False, Space:=False, other:=True, OtherChar:="|", fieldinfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 2), Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1)), TrailingMinusNumbers:=True
With ActiveWorkbook.Sheets(1)
.Range("a2").Offset(0, .UsedRange.Columns.Count) _
.Resize(.UsedRange.Rows.Count - 1, 1).Value = .Name
.UsedRange.Offset(0, 0).Copy
End With
With tb.Sheets(1)
.Range("a" & .Rows.Count).End(xlUp).Offset(0, 0).PasteSpecial xlPasteValues
End With
Application.CutCopyMode = False
ActiveWorkbook.Close False
Next i
MsgBox "Finish."
End Sub
Re: ดึงข้อมูล จาก workbooks ไปอีก workbooks
Posted: Tue Nov 19, 2019 5:13 pm
by sarawut.a
ขอบคุณครับ