Page 1 of 1
สอบถามเรื่องการแก้ไข code vba
Posted: Sat Dec 23, 2017 1:07 pm
by March201711
คือ record marco ไว้ค่ะ แล้วต้องการลบ sheet1 ที่ไม่ต้องการใน worksheet พอลบไปแล้วมี pop up ขึ้นข้อความมาถามทุกครั้ง จะต้องปรับใน code vba อย่างไรบ้างคะ เพราะworksheet ที่ใช้จริง ต้องมากด ตอบทุกครั้ง ตามเอกสารที่แนบค่ะ
สนใจอยากเขียน code vba เพราะจำเป็นต้องใช้การทำงานที่ข้อมูลเยอะค่ะ
อยากทราบใน menu vba excel คำสั่ง private sub และ public sub กับ sub แตกต่างกันอย่างไรบ้าง
สงสัยในกับคำสั่ง Module กับ Class Module แตกต่างกันอย่างไรคะ
Re: สอบถามเรื่องการแก้ไข code vba
Posted: Sat Dec 23, 2017 1:37 pm
by snasui

ก่อนจะลบให้เขียน Code เข้าไปบอก Excel เสียก่อนว่าไม่ต้องแจ้งเตือน จากนั้นก็ลบ เมื่อเสร็จงานลบแล้วค่อยกำหนดให้ Excel แจ้งเตือนใหม่เพื่อกลับมาสู่สภาพเดิมเช่นด้านล่างครับ
Code: Select all
'Other code...
Application.DisplayAlerts= False
'Delete worksheet
Application.DisplayAlerts = True
'Other code...
เรื่อง Private, Public, Class และ Module ขออธิบายหลัก ๆ ดังนี้ครับ
Private, Public เป็น Keyword ที่ใช้กำหนด Scope ของ Procedure และตัวแปร หากเป็น Public จะสามารถเรียกใช้ Procedure หรือตัวแปรนั้นจาก Module อื่นได้ หากเป็น Private จะไม่สามารถเรียกใช้ Procedure หรือตัวแปรนั้นจาก Module อื่นได้ครับ
sub คือคำที่ระบุว่าเป็น Procedure ถ้าไม่มี Private นำหน้าแสดงว่า Procedure นั้นมี Scope เป็น Public
Class คือแม่แบบ หรือ แม่พิมพ์ หรือ พิมพ์เขียว เราสามารถสร้าง Object จาก Class ได้ สร้างคุณสมบัติ (Property) สร้างการกระทำ (Method) ให้กับ Object นั้น ๆ ได้ สร้่างเหตุการณ์ (Event) ให้กับ Object นั้น ๆ ได้
Module เอาไว้ใช้เขียน Sub Procedure, Function Procedure แต่ไม่สามารถสร้าง Object ไม่สามารถสร้าง Event ได้
ควรจะหาหนังสือมาอ่านจะได้เข้าใจ Object Oriented Programming (OOP) ของ Excel สิ่งเหล่านี้เป็นพื้นฐานที่จำเป็นต้องทราบหากต้องการใช้งาน VBA อย่างจริงจังครับ
Re: สอบถามเรื่องการแก้ไข code vba
Posted: Sat Dec 23, 2017 5:49 pm
by March201711
ขอบคุณที่อาจารย์อธิบายเข้าใจมากขึ้น
ค่ะ 
Re: สอบถามเรื่องการแก้ไข code vba
Posted: Sat Dec 23, 2017 5:58 pm
by March201711
ขอสอบถามเพิ่มค่ะ ลองใช้ password lock code vba ใน Protection แล้ว ทำไมยังเข้าให้เห็นได้และแก้ไขได้คะ
Re: สอบถามเรื่องการแก้ไข code vba
Posted: Sat Dec 23, 2017 6:04 pm
by snasui

ปิดไฟล์นั้นแล้วเปิดขึ้นมาใหม่แล้วลองเข้า VBE เพื่อเปิดดู Code อีกทีว่าเข้าได้หรือไม่ครับ ถ้าเข้าได้แสดงว่าผิดปกติครับ
Re: สอบถามเรื่องการแก้ไข code vba
Posted: Sat Dec 23, 2017 6:18 pm
by March201711
ค่ะ ถ้าเราจะลองเอาcode vba ที่เราเขียน save เก็บไว้แล้วเอาไปไว้ที่ file อื่น เราต้องทำอย่างไรคะอาจารย์
Re: สอบถามเรื่องการแก้ไข code vba
Posted: Sat Dec 23, 2017 6:52 pm
by snasui

ใช้การ Export มาช่วยได้ครับ
การ Export เข้าเมนู File > Export File > เลือกตำแหน่งปลายทาง
ที่ไฟล์ปลายทางใช้การ Import เข้าเมนู File > Import File
ลองเล่นดูเยอะ ๆ ครับ
Re: สอบถามเรื่องการแก้ไข code vba
Posted: Sat Dec 23, 2017 7:29 pm
by March201711
ขอบคุณอาจารย์มากค่ะ
Re: สอบถามเรื่องการแก้ไข code vba
Posted: Sun Dec 24, 2017 8:05 am
by March201711
ถ้าเราต้องการจะสร้าง private sub เราต้องสร้างอย่างไรคะ
Re: สอบถามเรื่องการแก้ไข code vba
Posted: Sun Dec 24, 2017 8:42 am
by snasui

ติดปัญหาใดจึงสร้างไม่ได้ครับ
หากเข้าใจสิ่งที่ผมอธิบายไปในโพสต์ #2 จะต้องสร้างเองเป็นครับ