Page 1 of 1

ปัญหาการ Filter ข้ามไฟล์ไม่ได้ค่ะ

Posted: Wed Jul 30, 2014 1:33 pm
by suka
เรียนอาจารย์และท่านผู้รู้ค่ะ ขอรบกวนช่วยเหลือเรื่องการกรองข้อมูลข้ามไฟล์ค่ะ

ได้ทำ Filter ข้ามไฟล์จากไฟล์แนบไฟล์ "เก็บเอกสาร" ชีท Document มาที่แนบไฟล์ "Form_Pro" ชีท Form เซลล์ O2 เบื้องต้นสามารถทำได้ใช้ได้ค่ะ

แต่พอมีการปิดเครื่องคอมแล้ว และ จำเป็นต้องเปิดคอมเพื่อใช้งานไฟล์ตามตัวอย่างกลับใช้งานก็ใช้ไม่ได้ค่ะ เป็นตามภาพแนบนี้

ขอรบกวนช่วยด้วยค่ะ จำเป็นต้องฟิลเตอร์ข้ามไฟล์เพราะเป็นไฟล์แชร์ค่ะ ขอบคุณค่ะ

Re: ปัญหาการ Filter ข้ามไฟล์ไม่ได้ค่ะ

Posted: Wed Jul 30, 2014 1:44 pm
by snasui
:D ในกรณีนี้เป็นการการใช้ Range name แบบข้ามไฟล์ ควรเปิดไฟล์ทั้งสองไว้พร้อมกันจึงจะใช้งานได้ครับ

Re: ปัญหาการ Filter ข้ามไฟล์ไม่ได้ค่ะ

Posted: Wed Jul 30, 2014 2:10 pm
by suka
อาจารย์คะ ได้เปิดไฟล์ขึ้นมาใช้พร้อมกันแล้วแต่ไม่สามารถคลิ๊กเลือกได้เลยค่ะ

พอมีวิธีอื่นๆช่วยได้ไหมคะ

Re: ปัญหาการ Filter ข้ามไฟล์ไม่ได้ค่ะ

Posted: Wed Jul 30, 2014 2:34 pm
by snasui
:D เปิดไฟล์ขึ้นมาพร้อมกันแล้วเข้าเมนู Data > Edit Link > เลือกไฟล์ต้นแหล่ง > Change Source > เปิดไฟล์ต้นแหล่ง > Close > ลองคลิก Drop down ดูใหม่ เนื่องจากเป็นไปได้ว่ามีการเปลี่ยนตำแหน่งที่เก็บไฟล์หลังจากมีการสร้าง Range Name ผมทดสอบแล้วสามารถทำงานได้ปกติ

สำหรับวิธีอื่น ๆ ที่ไม่ยากนักคือให้นำค่าที่ต้องการจะใช้ใน Drop down มาไว้ในไฟล์เดียวกัน เช่น Link โดยตรงมาจากไฟล์ต้นทางแล้วค่อยให้ Range Name จากนั้นค่อยนำไปใช้ การใช้ Range Name จากต่างไฟล์ยังมีข้อจำกัดครับ

Re: ปัญหาการ Filter ข้ามไฟล์ไม่ได้ค่ะ

Posted: Wed Jul 30, 2014 3:16 pm
by suka
ขอบคุณค่ะอาจารย์

ตามอาจารย์แนะนำนี้
snasui wrote:สำหรับวิธีอื่น ๆ ที่ไม่ยากนักคือให้นำค่าที่ต้องการจะใช้ใน Drop down มาไว้ในไฟล์เดียวกัน เช่น Link โดยตรงมาจากไฟล์ต้นทางแล้วค่อยให้ Range Name จากนั้นค่อยนำไปใช้ การใช้ Range Name จากต่างไฟล์ยังมีข้อจำกัดครับ
สามารถใช้สูตรด้านล่างนี้แทนได้ไหมคะ ผลการใช้เทียบเท่ากันไหมคะ
=OFFSET([เก็บเอกสาร.xlsx]Document!$J$2,0,0,[เก็บเอกสาร.xlsx]Document!$J$1)

Re: ปัญหาการ Filter ข้ามไฟล์ไม่ได้ค่ะ

Posted: Wed Jul 30, 2014 3:29 pm
by snasui
:D Offset ไม่สามารถใช้ข้ามไฟล์กรณีไฟล์ต้นแหล่งปิดอยู่ได้ และตามโพสต์ที่ยกมาผมไม่ได้แนะนำให้ใช้ Range Name แบบข้ามไฟล์

ลองอ่านทบทวนทีผมโพสต์ไปอีกครั้งแล้วลองทำตามนั้นครับ

Re: ปัญหาการ Filter ข้ามไฟล์ไม่ได้ค่ะ

Posted: Wed Jul 30, 2014 5:08 pm
by suka
อาจารย์คะ Offset ไม่สามารถใช้ข้ามไฟล์กรณีไฟล์ต้นแหล่งปิดอยู่ได้ ต่อให้ Link โดยตรงมาจากไฟล์ต้นทางมาไว้ในไฟล์เดียวกันแล้ว Range Name ก็ไม่สามารถใช้ได้หากไฟล์ต้นแหล่งยังปิดอยู่ใช่ไหมคะ

Re: ปัญหาการ Filter ข้ามไฟล์ไม่ได้ค่ะ

Posted: Wed Jul 30, 2014 5:20 pm
by snasui
suka wrote:อาจารย์คะ Offset ไม่สามารถใช้ข้ามไฟล์กรณีไฟล์ต้นแหล่งปิดอยู่ได้ ต่อให้ Link โดยตรงมาจากไฟล์ต้นทางแล้วก็ไม่สามารถใช้ได้ไหมคะ
:D Link โดยตรงแล้ว ช่วยแสดงให้เห็นว่าใช้ Offset อย่างไร เมื่อได้เห็นแล้วจะบอกได้ว่าใช้ได้หรือไม่ได้ครับ

คำว่า Link โดยตรงคือไปอ้างอิงเอาเซลล์ใด ๆ จากไฟล์ต้นแหล่งมาโดยตรงเช่นใน Book2 คีย์สูตรในเซลล์ A1 เป็น

=[Book1]Sheet1!$A1

Enter > Copy ลงด้านล่างไปถึง A5

จากนั้นเราให้ Range Name A1:A5 ใน Book2 ในชื่อ MyRange แล้วค่อยนำ MyRange ไปใช้ใน Book2

จะเห็นได้ว่าเป็นการสร้างและใช้ Range Name ในไฟล์เดียวกัน นี่เป็นการขยายความจากสิ่งที่ได้อธิบายมาก่อนหน้านี้ครับ

Re: ปัญหาการ Filter ข้ามไฟล์ไม่ได้ค่ะ

Posted: Wed Jul 30, 2014 6:18 pm
by suka
ค่ะอาจารย์ ทดลองแล้วการ Link ข้อมูลมาไว้ไฟล์เดี่ยวกันใช้ได้กับ Drop down เท่านั้นค่ะ กับ Offset ทำไม่ได้ต้องเปิดไฟล์พร้อมกันค่ะ

ขอบพระคุณค่ะอาจารย์

Re: ปัญหาการ Filter ข้ามไฟล์ไม่ได้ค่ะ

Posted: Sat Aug 02, 2014 4:28 pm
by suka
snasui wrote: :D Link โดยตรงแล้ว ช่วยแสดงให้เห็นว่าใช้ Offset อย่างไร เมื่อได้เห็นแล้วจะบอกได้ว่าใช้ได้หรือไม่ได้ครับ

คำว่า Link โดยตรงคือไปอ้างอิงเอาเซลล์ใด ๆ จากไฟล์ต้นแหล่งมาโดยตรงเช่นใน Book2 คีย์สูตรในเซลล์ A1 เป็น

=[Book1]Sheet1!$A1

Enter > Copy ลงด้านล่างไปถึง A5

จากนั้นเราให้ Range Name A1:A5 ใน Book2 ในชื่อ MyRange แล้วค่อยนำ MyRange ไปใช้ใน Book2

จะเห็นได้ว่าเป็นการสร้างและใช้ Range Name ในไฟล์เดียวกัน นี่เป็นการขยายความจากสิ่งที่ได้อธิบายมาก่อนหน้านี้ครับ
อาจารย์คะขอบคุณค่ะ สามารถใช้ Offset กับข้อมูลมที่ลิงค์มาในไฟล์เดี่ยวกันได้แล้วค่ะ

ขอรบกวนถามโค๊ดด้านล่านนี้ หากต้องการปรับโค๊ดเมือปิดฟอร์มออกจากระบบแล้วให้มาที่หน้า Desktop เลย
ไม่ต้องการให้เป็นเช่นภาพที่แนบมานี้ค่ะต้องปรับโค๊ดอย่างไรคะ
Sub Close_File()
Windows("Form_v1.xlsm").Activate
ActiveWorkbook.Save
ActiveWindow.Close
End Su

Re: ปัญหาการ Filter ข้ามไฟล์ไม่ได้ค่ะ

Posted: Sat Aug 02, 2014 7:53 pm
by snasui
:D การปิด Program สามารถใช้ Application.Quit ได้ครับ

Re: ปัญหาการ Filter ข้ามไฟล์ไม่ได้ค่ะ

Posted: Mon Aug 04, 2014 8:54 am
by suka
:thup: ขอบคุณค่ะอาจารย์ ใช้ได้ตรงตามต้องการแล้วค่ะ