ผมลองทำในหัวข้อการใช้ Macro เรียกข้อมูลเก่าขึ้นมา แล้วทำการแก้ไขแล้วใส่ข้อมูลกลับเข้าไปที่เดิม ถ้าเป็นข้อมูลที่ Sheet อยู่ใน ไฟล์งานเดียวกันไม่ติดปัญหาครับ แต่พอจะเรียกข้อมูลที่อยู่คนละเครื่อง เวลาRunมาโครมันติดปัญหาครับ ผมขอสอบถามดังนี้ครับ
1. ผมมีไฟล์งานชื่อ Plannew.XLSM อยู่ที่เครื่อง A ต้องการดึงข้อมูลจากวงแลน ในเครื่อง \\ACCOUNT\DATA (D)\SALE\SaleData.xlsx มาแสดงที่ไฟล์งาน Plannew.xlsm เมื่อแก้ไขเสร็จ จากนั้นก็ส่งข้อมูลกลับไปไว้ที่ตำแหน่งเดิมในเครื่อง \\ACCOUNT\DATA (D)\SALE\SaleData.xlsx
2. ผมใช้คำสั่ง F5 เรียกหน้าต่าง GOTO แล้วพิมพ์ offset([SaleData.xlsx]Total!a1,L1,0,1,21) โดยเปิดไฟล์งาน SaleData ไว้ก่อน มันสามารถไปหาข้อมูลได้ตรงครับ
3. ทำการบันทึกมาโคร code ที่ได้
Code: Select all
Sub Macro33()
'
' Macro33 Macro
'
'
Workbooks.Open Filename:="\\ACCOUNT\Data (D)\SALE\SaleData.xlsx"
ThisWorkbook.Activate
Application.Goto Reference:="OFFSET(TOTAL!R[-8]C,R1C12,0,1,21)"
End Sub
จะ error ที่ บรรทัด
Code: Select all
Application.Goto Reference:="OFFSET(TOTAL!R[-8]C,R1C12,0,1,21)"
ผมลองแก้ไขเป็น
Code: Select all
Application.Goto Reference:="OFFSET([SaleData.xlsx]TOTAL!R[-8]C,R1C12,0,1,21)"
ปรากฎว่าไม่ error ครับ แต่ไม่ตรงตำแหน่งที่ต้องการครับ
ผมต้องอยากทราบ CODE สำหรับการไปหาข้อมูลที่อยู่ต่างเครื่องครับ