Page 1 of 1
การดึงข้อมูลโดยใช้ vba
Posted: Sat Sep 10, 2011 10:24 am
by godman
สวัสดีครับ อาจารย์ คนควน
เนื่องจากผมได้ทดลองตามตาม Blog เกี่ยวกับ โค้ดดึงข้อมูล แต่ปรากฏว่า พอผมใส่ B2 ในหน้า Report เพื่อดึงข้อมูลจาก colump F ของ Database มันไม่ยอมแสดงครับ
ผมไม่ทราบว่าเกิดจากอะไร ขออาจารย์ดูให้ด้วยครับ
คำถามต่อมา คอลัมพ์ E ทำไมใน Blog ของอาจารย์คืออะไรครับ ต้องเหมือนกับ Colump F หรือปล่าวหรือเกี่ยวข้องกันอย่างไรครับ
ผมดูมาจากที่นี่ครับ
http://snasui.blogspot.com/2011/06/vba_26.html
Re: การดึงข้อมูลโดยใช้ vba
Posted: Sat Sep 10, 2011 10:34 am
by snasui

จากที่ดูไฟล์แนบแล้วในชีท Report
ยังไม่ได้เติมหัว Field ทำให้โอกาสเกิดค่าผิดพลาดได้ครับ เพราะว่า Code ส่วนใหญ่จะใช้ตำแหน่งหัว Field ในการอ้างอิงเพื่อวางข้อมูล กรณีคอลัมน์ E และ F ของ Database ใน Blog เหมือนกับชื่อย่อ ชื่อเต็ม หรือ รหัส กับ ชื่อเต็มครับ
ไฟล์ที่แนบมานั้นไม่สามารถแนบ Code มาได้เพราะว่า Save เป็น .xlsx กรณีเขียน VBA ให้ Save เป็น .xlsm ครับ
Re: การดึงข้อมูลโดยใช้ vba
Posted: Sat Sep 10, 2011 10:51 am
by godman
ขอบคุณครับ
ผมกลับไปแก้ไขแล้ว โดยใส่ชื่อ filed ครบแล้ว แต่ปัญหาต่อมาคือ พอผมเลือกทีมใหม่ มันมา แต่ว่า วันที่ใน colump Record Date เป้นตัวเลข ไม่ทราบว่าผมต้องไปตั้งค่าที่ใหนครับ
และคำถามข้อที่ 2 ลักษณะแบบนี้สามารถให้แสดงตามเงื่อนไขมากกว่า 1 ได้ไหมครับ แช่น ผมอาจจะเลือก A1 เพิ่ม filter อาจจะเป็นวันที่นั้น ถึง วันที่นั้น หรือเลือกตาม week ตามชื่อคน เป็นต้น ครับ
ผมแนบไฟล์มาด้วยเพื่อแสดงว่า วันที่ ผมไม่ได้แสดงในลักษณะของ date
Re: การดึงข้อมูลโดยใช้ vba
Posted: Sat Sep 10, 2011 11:19 am
by snasui

การเปลี่ยน Format ของวันที่เปลี่ยน Code
Code: Select all
.Range("B5", .Range("B" & rl).End(xlUp)).NumberFormat = "000000"
เป็น
Code: Select all
.Range("B5", .Range("B" & rl).End(xlUp)).NumberFormat = "dd/mm/yyyy"
กรณีต้องการหลายเงื่อนไขก็สามารถทำได้ครับ หากต้องการเป็น Code ก็ต้องเขียนมาเองก่อน ติดตรงไหนก็มาถามกันต่อ
การแสดงข้อมูลลักษณะนี้ไม่จำเป็นต้องเขียน VBA สามารถใช้ Lookup มาช่วยได้ซึ่งก็มีตัวอย่างในฟอรัมนี้อยู่จำนวนมาก หรือแม้แต่ใช้ VBA ก็สามารถบันทึก Macro ร่วมกับ Advanced Filter ก็จะทำให้เข้าใจได้ดีกว่า Code นี้ครับ