Page 1 of 1

สอบถาม vba เปิด macro

Posted: Sat Nov 02, 2013 7:23 pm
by wisitb
คือว่าผมได้ทำ macro ไว้แล้ว แต่ผมจำเป็นต้องใส่เงื่อนไขด้วย ทำให้ผมต้องใช้ vba เพื่อใส่เงื่อนไขแล้วก็เปิด macro

Re: สอบถาม vba เปิด macro

Posted: Sat Nov 02, 2013 7:26 pm
by snasui
:D ไม่สามารถใช้ VBA ในการเปิด Macro ได้ครับ อ่านเพิ่มเติมที่นี่ครับ viewtopic.php?f=3&t=5574

หากยังไม่ตรงกับที่ต้องการ ช่วยอธิบายเพิ่มเติมว่า ปัญหาคืออะไร ต้องการคำตอบเป็นอย่างไร จะได้เข้าใจตรงกันครับ

Re: สอบถาม vba เปิด macro

Posted: Sat Nov 02, 2013 7:33 pm
by wisitb
พอดีว่าผมใช้ macro สั่งให้ worksheet Refresh ครับ อย่างนี้ VBA มีคำสั่ง Refresh ไหมครับ

Re: สอบถาม vba เปิด macro

Posted: Sat Nov 02, 2013 8:45 pm
by snasui
:| Refresh worksheet ที่ว่านั้น Refresh อย่างไร ผลของการ Refresh ที่ต้องการคืออะไรครับ :?:

Re: สอบถาม vba เปิด macro

Posted: Sat Nov 02, 2013 9:00 pm
by wisitb
คือว่าผมใช้ Get External Data > From Web ฉะนั้น ในวันต่อไปผมแค่คลิกขวา Refresh ครับ ของเดิมผมใช้ macro มาช่วยในการกด Refresh แต่ผมอยากเพิ่มเงื่อนไขการกด refresh เลยคิดว่าต้องใช้ vba เข้ามาช่วย แต่ปัญหาคือผมไม่รู้คำสั่งในการ Refresh Wordsheet

Re: สอบถาม vba เปิด macro

Posted: Sat Nov 02, 2013 9:15 pm
by snasui
:D เมื่อใช้ Macro ในการ Refresh ได้ก็ใช้ VBA ในการสร้างเงื่อนไขในการ Refresh ได้เช่นกัน เดิมเขียนไว้อย่างไร ต้องการสร้างเงื่อนไขอย่างไร ติดขัดบรรทัดใด แนบ Code ที่เขียนเองมาแล้วด้วยเพื่อจะได้แนะนำต่อไปจากนั้น

สำหรับ VBA จำเป็นต้องเขียนมาก่อนเสมอตามกฎการใช้บอร์ดข้อ 5 ด้านบน :roll: เขียนได้เท่าใดก็เท่านั้น แต่ต้องเขียนให้เข้าข่ายประเด็นที่ถาม ไม่ใช่ถามเรื่องหนึ่งแต่เขียนมาเป็นอีกเรื่องครับ

Re: สอบถาม vba เปิด macro

Posted: Sat Nov 02, 2013 10:58 pm
by wisitb
ทำให้ Refresh ได้แล้วครับ คือ ตอนที่ผมทำ macro มันก็สร้างเป็นโค้ด vba ให้แล้วครับ
แต่ตอนนี้ปัญหาผมคือจะดึงข้อมูลในเซลของ worksheet จะดึงอย่างไรครับ ใช่
Worksheets("Temp").select
Range(A1).value
หรือป่าวครับ

Re: สอบถาม vba เปิด macro

Posted: Sun Nov 03, 2013 7:08 am
by snasui
:D ต้องการจะดึงข้อมูลไปไว้ที่ไหน หรือให้แสดงผลที่ไหน อย่างไร ครับ

Code ที่เขียนมานั้นแค่เลือกชีท ส่วน Range(A1).Value เป็น Code ที่ใช้ไม่ได้ เนื่องจากเขียนไม่ถูกต้องและไม่มีที่มาที่ไป

ที่ถูกคือเขียน Range("A1").Value สังเกตว่าชื่อเซลล์จะต้องครอบด้วยฟันหนู นี่แค่เขียนให้ถูกเท่านั้นแต่ยังใช่ไม่ได้ เพราะว่าเราไม่สามารถอ้างลอย ๆ แค่นี้ได้ จะต้องบอกว่าต้องการให้อะไรเท่ากับ Range("A1").Value หรือต้องการให้ Range("A1").Value มีค่าเท่ากับอะไร

เช่น Range("A1").Value=Range("B1").Value เช่นนี้จึงจะเป็นคำสั่งที่ใช้ได้ครับ

การศึกษา VBA ทางหนึ่งที่ดีที่สุดคือให้ทำการบันทึก Macro แล้วดูว่า Code ที่ได้เป็นอย่างไร จากนั้นค่อยปรับ Code ที่ได้นั้นมาใช้งาน เนื่องจาก Code ที่ได้จากการบันทึก Macro นั้นมีความถูกต้องแน่นอน

Re: สอบถาม vba เปิด macro

Posted: Mon Nov 04, 2013 3:03 pm
by wisitb
ขอบคุณครับ

Re: สอบถาม vba เปิด macro

Posted: Mon Nov 04, 2013 3:19 pm
by wisitb
Worksheets("Sheet1").Range("b2").Value

พอดีช่วงนี้ยุ่งๆ แถมลืมอีกก็เลยกลับมาตอบครับ ขอบคุณครับ