:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

การดึงข้อมูลจากเว็ป 2 หน้า เพื่อมาลงใน excel ต้องทำอย่างไรครับ

ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
bboy_access
Member
Member
Posts: 44
Joined: Sat Jan 10, 2015 7:12 am

การดึงข้อมูลจากเว็ป 2 หน้า เพื่อมาลงใน excel ต้องทำอย่างไรครับ

#1

Post by bboy_access »

คือผมอยากจะดึงข้อมูลราคาย้อนหลังจากเว็ป( http://www.set.or.th/set/historicaltrad ... country=TH)

โดยอยากจะดึงราคาย้อนหลัง ประมาณ 60 วัน ( ตัวอย่างค่าที่ผมอยากจะดึงครับอยู่ด้านล่างครับ) แต่ถ้าผมจะดึงข้อมูลย้อนหลัง 60 วัน ผมต้องคลิ๊ก Next เพื่อไปดึงข้อมูลอีกหนึ่งหน้าด้วยครับ

รบกวนอาจารย์หรือผู้มีความชำนาญช่วยแนะนำหน่อยครับว่าต้องทำอย่างไร ถึงจะสามารถดึงมาครั้งเดียวได้ข้อมูลครบ 60 วันเลยครับ

ขอบคุณครับ



ตัวอย่างข้อมูลที่ต้องการจะดึงครับ
09/01/2558 251.00 251.00 248.00 248.00 -2.00 -0.80 4,615,779 1,150,721.29

08/01/2558 251.00 252.00 248.00 250.00 -3.00 -1.19 6,738,377 1,684,609.52

07/01/2558 246.00 253.00 240.00 253.00 +6.00 +2.43 11,560,842 2,834,206.60

06/01/2558 246.00 250.00 245.00 247.00 -2.00 -0.80 4,386,595 1,084,522.07

05/01/2558 252.00 254.00 247.00 249.00 -2.00 -0.80 5,270,169 1,317,362.92

30/12/2557 249.00 252.00 247.00 251.00 +2.00 +0.80 2,302,963 575,501.19

29/12/2557 252.00 253.00 248.00 249.00 -2.00 -0.80 2,282,669 570,719.28

26/12/2557 248.00 251.00 246.00 251.00 +3.00 +1.21 2,453,054 611,976.10

25/12/2557 251.00 252.00 246.00 248.00 -5.00 -1.98 1,774,190 441,590.71

24/12/2557 250.00 253.00 249.00 253.00 +3.00 +1.20 3,077,116 773,720.53

23/12/2557 250.00 254.00 249.00 250.00 0.00 0.00 8,763,090 2,197,439.68

22/12/2557 246.00 250.00 245.00 250.00 +5.00 +2.04 6,367,805 1,584,195.89

19/12/2557 248.00 251.00 243.00 245.00 0.00 0.00 9,082,033 2,250,633.24

18/12/2557 245.00 246.00 242.00 245.00 +3.00 +1.24 4,648,377 1,132,966.86

17/12/2557 240.00 245.00 240.00 242.00 +2.00 +0.83 11,099,870 2,689,941.63

16/12/2557 230.00 242.00 227.00 240.00 +3.00 +1.27 10,810,782 2,540,081.76

15/12/2557 234.00 237.00 219.00 237.00 -2.00 -0.84 14,159,391 3,256,004.80

12/12/2557 243.00 244.00 239.00 239.00 -5.00 -2.05 4,822,826 1,158,739.35

11/12/2557 247.00 248.00 236.00 244.00 -1.00 -0.41 10,449,782 2,526,930.63

09/12/2557 250.00 251.00 245.00 245.00 -5.00 -2.00 6,883,153 1,710,691.58

08/12/2557 250.00 252.00 248.00 250.00 +2.00 +0.81 10,553,970 2,643,129.37

04/12/2557 245.00 250.00 245.00 248.00 +4.00 +1.64 10,304,030 2,554,022.19

03/12/2557 240.00 245.00 240.00 244.00 +4.00 +1.67 7,687,730 1,870,476.12

02/12/2557 240.00 240.00 238.00 240.00 0.00 0.00 4,189,606 1,002,818.46

01/12/2557 237.00 240.00 237.00 240.00 +2.00 +0.84 2,886,699 689,516.55
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: รบกวนช่วยแนะนำการดึงข้อมูลจากเว็ปให้หน่อยครับ

#2

Post by snasui »

:D ใช้ Excel Version ใดครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การดึงข้อมูลจากเว็ป 2 หน้า เพื่อมาลงใน excel ต้องทำอย่างไรครับ

#4

Post by snasui »

:D เข้าเมนู Data > From web > ตรง Address วาง URL http://www.set.or.th/set/historicaltrad ... pe=trading > คลิก Go > คลิก Import > เลือกเซลล์แรกที่จะวางข้อมูล > OK

ทำซ้ำกันด้านบน เปลี่ยน URL เป็น http://www.set.or.th/set/historicaltrad ... pe=trading และเปลี่ยนตำแหน่งเซลล์แรกที่จะวางข้อมูล อาจจะวางกันคนละชีท

หากต้องการจะ Refresh เพื่อให้เป็นข้อมูลปัจจุบันให้เข้าเมนู Data > Refresh

ข้อสังเกต URL ด้านบน ต่างกันตรงที่ page=0 และ page=1 เท่านั้น
bboy_access
Member
Member
Posts: 44
Joined: Sat Jan 10, 2015 7:12 am

Re: การดึงข้อมูลจากเว็ป 2 หน้า เพื่อมาลงใน excel ต้องทำอย่างไรครับ

#5

Post by bboy_access »

ผมลองทำแล้วครับ แต่ไม่สามารถดึงตารางมาได้ครับ

ใน Column B1 ขึ้นแค่ (historicaltrading.do?symbol=ADVANC&page=1&language=th&country=TH&type=trading) ไม่มีตารางมาเลยครับ

ช่วยแนะนำหน่อยว่าผมทำผิดตรงไหนครับ

ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การดึงข้อมูลจากเว็ป 2 หน้า เพื่อมาลงใน excel ต้องทำอย่างไรครับ

#6

Post by snasui »

:D ผมทดสอบแล้วสามารถดึงข้อมูลได้เป็นปกติครับ

Image
bboy_access
Member
Member
Posts: 44
Joined: Sat Jan 10, 2015 7:12 am

Re: การดึงข้อมูลจากเว็ป 2 หน้า เพื่อมาลงใน excel ต้องทำอย่างไรครับ

#7

Post by bboy_access »

ผมลองทดสอบอีกครั้งก็เป็นเหมือนเดิมเลยครับ

รบกวนช่วยแนะนำหน่อยครับว่าเกิดมาจากอะไรครับ

ปล.ผมก็เลือกตารางแล้วนะครับ (ช่วยดูในไฟล์แนบให้หน่อยครับ)

ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การดึงข้อมูลจากเว็ป 2 หน้า เพื่อมาลงใน excel ต้องทำอย่างไรครับ

#8

Post by snasui »

:D ไม่จำเป็นต้องเลือกตาราง ให้ดึงมาทั้งหมดของหน้านั้น ค่อยมาเลือกข้อมูลที่ต้องการทีหลังครับ
bboy_access
Member
Member
Posts: 44
Joined: Sat Jan 10, 2015 7:12 am

Re: การดึงข้อมูลจากเว็ป 2 หน้า เพื่อมาลงใน excel ต้องทำอย่างไรครับ

#9

Post by bboy_access »

ผมต้องการดึงข้อมูล 60วันครับ

รบกวนช่วยทำเป็นตัวอย่างในไฟล์ที่ผมแนบไปให้หน่อยนะครับ

ปล.ไม่ค่อยมีความชำนาญในด้านนี้ครับ

ขอบคุณครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การดึงข้อมูลจากเว็ป 2 หน้า เพื่อมาลงใน excel ต้องทำอย่างไรครับ

#10

Post by snasui »

:D ทำตามโพสต์ที่ผมจับภาพไปให้ครับ ไม่มีเทคนิคอื่นใดเหนือจากนั้นครับ
bboy_access
Member
Member
Posts: 44
Joined: Sat Jan 10, 2015 7:12 am

Re: การดึงข้อมูลจากเว็ป 2 หน้า เพื่อมาลงใน excel ต้องทำอย่างไรครับ

#11

Post by bboy_access »

ก่อนอื่นขอขอบคุณอาจารย์ Snasui ครับ ตอนนี้ผมได้ทำผ่านไป 1 ขั้นตอนแล้วครับ

ขั้นตอนต่อไปผมอยากจะเปลี่ยนหุ้นครับ เช่นเปลี่ยนจาก PTTGC เป็น PTT (http://www.set.or.th/set/historicaltrad ... pe=trading)

ลิงค์ของหุ้นในวงเล็บคือ PTTGC แต่ผมอยากจะเปลี่ยนเป็น PTT ผมอยากจะสร้าง Macro ขึ้นมาเพื่อเปลี่ยนจาก PTTGC ให้เป็น PTT แล้วดึงข้อมูลของ PTT มาแทน

แต่ก็ไม่สำเร็จซะทีครับ อาจารย์ช่วยสอนวิธีที่สามารถเปลี่ยนได้ให้ผมหน่อยนะครับ

ขอบคุณครับ

ปล.ผมแนบไปที่ผมทำสำเร็จขั้นแรกนะครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การดึงข้อมูลจากเว็ป 2 หน้า เพื่อมาลงใน excel ต้องทำอย่างไรครับ

#12

Post by snasui »

:D การเปลียน Link ให้ลองเปลี่ยนที่หน้าเว็บโดยเลือกที่ช่อง "เลือกหลักทรัพย์" แล้วสังเกต URL ว่าเปลี่ยนไปเช่นไร ให้นำ URL นั้นมาเป็นเงื่อนไขในการดึงข้อมูลครับ

ตัวอย่างของ PPT-F http://www.set.or.th/set/historicaltrading.do?symbol=[background=yellow]PTT-F[/background]&page=0&language=th&country=TH&type=trading

ตัวอย่างของ PPT http://www.set.or.th/set/historicaltrading.do?symbol=[background=yellow]PTT[/background]&page=0&language=th&country=TH&type=trading
bboy_access
Member
Member
Posts: 44
Joined: Sat Jan 10, 2015 7:12 am

Re: การดึงข้อมูลจากเว็ป 2 หน้า เพื่อมาลงใน excel ต้องทำอย่างไรครับ

#13

Post by bboy_access »

ใช่ครับแต่ถ้าผมจะเอามาประยุกค์เขียนmacro ให้ง่ายต่อการใช้งานโดยที่ไม่ต้องพิมพ์เปลี่ยน url เองอยากจะใช้macro เปลี่ยนครับ

ช่วยเขียนตัวอย่าง code ให้ดูหน่อยครับ

ขอบคุณครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การดึงข้อมูลจากเว็ป 2 หน้า เพื่อมาลงใน excel ต้องทำอย่างไรครับ

#14

Post by snasui »

:D ไม่สามารถเขียนให้ก่อนได้ ผิดกฎข้อ 5 ด้านบน VBA ต้องเขียนมาเอง การบันทึก Macro เป็นวิธีที่ดีที่สุดวิธีหนึ่งสำหรับการศึกษา VBA ควรลองบันทึก Macro แล้วแก้ไข Code ครับ
bboy_access
Member
Member
Posts: 44
Joined: Sat Jan 10, 2015 7:12 am

Re: การดึงข้อมูลจากเว็ป 2 หน้า เพื่อมาลงใน excel ต้องทำอย่างไรครับ

#15

Post by bboy_access »

พอจะมีcode คำสั่งที่ใช้กับmacro ในการเปลี่ยนurl หรือเปล่าครับ
bboy_access
Member
Member
Posts: 44
Joined: Sat Jan 10, 2015 7:12 am

Re: การดึงข้อมูลจากเว็ป 2 หน้า เพื่อมาลงใน excel ต้องทำอย่างไรครับ

#18

Post by bboy_access »

ทำได้แล้วครับแต่ติดปัญหาอีกนิดหน่อยครับ

ตอนนี้ผมสามารถดึงข้อมูลที่ต้องการได้แล้วโดยการพิมพ์ชื่อหุ้นที่ช่อง A1 แล้วกด ดึงข้อมูลครับ

แต่ปัญหาที่ผมเจอคือ เมื่อผมเปลี่ยนชื่อหุ้น แล้วทำการกดปุ่ม "ดึงข้อมูล" พบว่าข้อมูลที่ดึงมาใหม่นั้นไม่แทนที่ตำแหน่งเดิม (ข้อมูลจะสะสมไปเรื่อยๆทุกครั้งที่กดดึงข้อมูล)

จะทำอย่างไรถึงจะให้ข้อมูลที่ดึงมาทับตำแหน่งเดิมครับ

ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การดึงข้อมูลจากเว็ป 2 หน้า เพื่อมาลงใน excel ต้องทำอย่างไรครับ

#19

Post by snasui »

:D ตัวอย่างการปรับ Code ครับ

Code: Select all

'Other code
src.Range("a2").Resize(1000, 1000).Clear  'Add this line
With tgt.QueryTables.Add(Connection:= _
    url, _
    Destination:=tgt.Range("A5"))

    .BackgroundQuery = True
    .TablesOnlyFromHTML = True
    .Refresh BackgroundQuery:=False
    .SaveData = True
End With
bboy_access
Member
Member
Posts: 44
Joined: Sat Jan 10, 2015 7:12 am

Re: การดึงข้อมูลจากเว็ป 2 หน้า เพื่อมาลงใน excel ต้องทำอย่างไรครับ

#20

Post by bboy_access »

ได้ความรู้อีกเยอะเลย
ขอบคุณมากๆเลยครับ
Post Reply