Page 1 of 1

excel 2016 บางคำสั่งใน VBA ใช้โค้ดไม่เหมือนกับ version เก่า ในอนาคตควรปรับตัวยังไงครับ

Posted: Thu Aug 04, 2016 11:53 am
by zern
ผมเอาไฟล์ไปรันในเครื่อง 2016 แล้วคำสั่งเช่น pastespecial, sendtoback, sendtofront และการประกาศตัวแปรที่จะใช้ xxx= ..... โดยละ Dim ไม่ได้ต้องมี Dim xxx ก่อนทุกตัว
ซึ่งจากทีว่ามา แนวโน้มของ excel จะเป็นยังไงครับ จะต้องปรับตัวตาม Code ใหม่ใน 2016 หรือว่าเป็นสิ่งที่ ms office น่าจะต้องแก้ไขในอนาคต หรือจะมีโปรแกรมสำหรับแปลงโค้ดจาก version เก่ามาเป็น version 2016 ให้โดยอัตโนมัติเลยหรือเปล่า ขอความเห็นหน่อยครับ

Re: excel 2016 บางคำสั่งใน VBA ใช้โค้ดไม่เหมือนกับ version เก่า ในอนาคตควรปรับตัวยังไงครับ

Posted: Thu Aug 04, 2016 6:25 pm
by snasui
:D Excel รุ่นใหม่ๆ สามารถ Run Code ของ Excel รุ่นก่อนหน้าได้ หาก Run ไม่ได้ให้แนบไฟล์ต้วอย่างมาถาม จะได้ตอบได้ตรงประเด็นครับ

เรื่องการประกาศตัวแปร การกำหนดค่าให้กับตัวแปร ดูเหมือนจะยังสับสน ลองกลับไปอ่านที่นี่อีกรอบครับ viewtopic.php?f=3&t=10235&p=64443#p64426

Re: excel 2016 บางคำสั่งใน VBA ใช้โค้ดไม่เหมือนกับ version เก่า ในอนาคตควรปรับตัวยังไงครับ

Posted: Thu Aug 04, 2016 7:56 pm
by zern
ผมสับสนแค่คำเรียกน่ะครับ
เท่าที่เล่นมา 2016 กำหนดค่าตัวแปรอย่างเดียวไม่ได้ ต้องประกาศตัวแปรด้วย
แต่เวอร์ชั่นต่ำกว่านั้น สามารถกำหนดค่าตัวแปรได้เลยโดยไม่ต้องประกาศ
และคำสั่ง sheets("xxx").range("a1").pastespecial xlvalues ผมรันบนเวอร์ชั่นต่ำได้ แต่พอไปรันใน 2016 แล้วมันขึ้น debug
เดี๋ยวไว้ผมลองแนบไฟล์ส่งให้ครับ ตอนนี้ไฟล์ที่เข้าข่ายมีแต่ไฟล์ที่มีข้อมูลบริษัททั้งนั้น ปล่อยลงเนตละงานเข้าแน่

Re: excel 2016 บางคำสั่งใน VBA ใช้โค้ดไม่เหมือนกับ version เก่า ในอนาคตควรปรับตัวยังไงครับ

Posted: Thu Aug 04, 2016 8:58 pm
by snasui
zern wrote:เท่าที่เล่นมา 2016 กำหนดค่าตัวแปรอย่างเดียวไม่ได้ ต้องประกาศตัวแปรด้วย
:D ไม่มี Version ไหนที่เป็นเช่นนั้นครับ ทุก Version ไม่จำเป็นต้องประกาศตัวแปร

การที่ต้องประกาศตัวแปร แสดงว่ามีการกำหนด Option ให้ต้องประกาศตัวแปรตามภาพด้านล่าง โดยจะแสดงคำว่า Option Explicit อยู่บรรทัดแรกของ Window ที่ใช้เขียน Code หมายถึงต้องประกาศตัวแปรเสมอ

Re: excel 2016 บางคำสั่งใน VBA ใช้โค้ดไม่เหมือนกับ version เก่า ในอนาคตควรปรับตัวยังไงครับ

Posted: Thu Aug 04, 2016 9:55 pm
by zern
tool option สินะครับ ค่อยยังชั่วนึกว่าเวอร์ชั่นใหม่ต้องประกาศตัวแปรไม่งั้นงานเข้าตายเลย เดี๋ยวลองไปเช็คอีกเครื่องดูว่ามีเซ็ตอะไรแบบนี้ไว้หรือเปล่า :cp:
ส่วนประเด็นอื่นเดี๋ยวได้เครื่องมารันสูตรแล้วจะรบกวนถามอีกทีครับ แบบนี้ก็ค่อยโล่งใจหน่อย :thup: :thup: :thup: