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
ไม่สามารถใช้ 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
เมื่อใช้ Macro ในการ Refresh ได้ก็ใช้ VBA ในการสร้างเงื่อนไขในการ Refresh ได้เช่นกัน เดิมเขียนไว้อย่างไร ต้องการสร้างเงื่อนไขอย่างไร ติดขัดบรรทัดใด แนบ Code ที่เขียนเองมาแล้วด้วยเพื่อจะได้แนะนำต่อไปจากนั้น
สำหรับ VBA จำเป็นต้องเขียนมาก่อนเสมอตามกฎการใช้บอร์ดข้อ 5 ด้านบน
เขียนได้เท่าใดก็เท่านั้น แต่ต้องเขียนให้เข้าข่ายประเด็นที่ถาม ไม่ใช่ถามเรื่องหนึ่งแต่เขียนมาเป็นอีกเรื่องครับ
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
ต้องการจะดึงข้อมูลไปไว้ที่ไหน หรือให้แสดงผลที่ไหน อย่างไร ครับ
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
พอดีช่วงนี้ยุ่งๆ แถมลืมอีกก็เลยกลับมาตอบครับ ขอบคุณครับ