: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
🪷 คำแสดงเจตนา
ขอผลแห่งการให้ความรู้นี้ จงกลับไปยังผู้ที่เป็นเจ้าของเดิม แม้ข้าพเจ้าจะไม่รู้จักท่านก็ตาม ขอให้แสงแห่งปัญญาที่ท่านเคยจุดไว้ ได้กลับไปเติมเต็มชีวิตของท่านอีกครั้ง และขอให้เจตนาของข้าพเจ้าเป็นการคืนความดีอย่างสงบ

ถามข้อสงสัยเกี่ยวกับ VBA กับ VB

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

ถามข้อสงสัยเกี่ยวกับ VBA กับ VB

#1

Post by bank9597 »

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

ซื่งในกรณีของผม (อยู่ในขั้นศึกษาและฝึกทำ) จะทำ Database ของสำนักงาน จะใช้ฟอร์มเป็นตัวควบคุมการทำงานเกือบทุกประเภท และข้อมูลก็มีความเชื่อมโยงกัน
ยกตัวอย่างเช่น การทำใบสั่งซื้อ คลังสินค้า และการบัญชี ทั้ง 3 ส่วนนี้ เป็นงานหลักของสำนักงาน โดยอาศัยจากฐานข้อมูลเดียวกัน ดังนี้

ใบสั่งซื้อ บันทึก ไปยัง Database
คลังสินค้า ดึงข้อมูล จาก Database
การบัญชี ดึงข้อมูล จาก Database
จะเห็นได้ว่าข้อมูลจาก Database เป็นจุดเริ่มต้นของระบบ ในความคิดเห็นผม ผมคิดว่า VBA คือการเอา VB มาประยุกใช้กับ Excel ให้สามารถทำงานแบบอัตโนมัติได้
ผมได้ใช้ VBA ในการทำใบสั่งซื้อ ปรากฎว่าใช้งานได้ดี แต่เมื่อมองภาพรวมแล้ว ข้อมูลที่ได้จากการทำใบสั่งซื้อจะต้องนำไปใช้ในหลายๆงาน ดั่งที่กล่าวมาแล้ว ดังนั้นจึงคิดว่าอาจจะไม่เหมาะเท่าที่ควร

ในระหว่างที่ผมกำลังสร้างงานด้วย VBA อยู่นั้น ผมก็อดสงสัยไม่ได้ว่า ผมควรจะสร้างงานด้วย VB หรือ VBA ดี อะไรเหมาะสมกว่ากัน หรือคุ้มค่ากับการลงทุนลงแรงกว่ากัน
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ถามข้อสงสัยเกี่ยวกับ VBA กับ VB

#2

Post by snasui »

:D ผมมองว่าถ้าหากคิดว่าเป็น Project ใหญ่และต้องการพัฒนาเป็น Appliction ต่างหาก ควรใช้ VB ในการสร้าง Application ครับ สำหรับ VBA แล้วปกติทำงานเกี่ยวกับ Microsoft Office ทั้งหลาย

Excel เองสามารถรองรับข้อมูลได้จำนวนมากมากกว่าล้านบรรทัดและมากกว่าหนึ่งหมื่นคอลัมน์และมีชีทได้ไม่จำกัด (ขึ้นอยู่กับทรัพยากรของเครื่อง) นอกจากนี้ยังมีเครื่องมือในการจัดการข้อมูลจากภายนอก โดยไม่ต้องพึ่ง VBA ยกตัวอย่างเช่น PowerPivot ที่เป็น Add-ins สำหรับการทำงานกับฐานข้อมูลและนำมาแสดงรายงานซึ่งสามารถที่จะทำงานกับข้อมูลนับร้อยล้าน Record

การจะใช้ VB หรือ VBA คงต้องกลับมาดูงานครับว่าเป็นงานลักษณะไหน มีความยุ่งยากซับซ้อนเพียงใด ต้องการใช้ผ่าน Web หรือผ่านเครื่อง Client ธรรมดา ฐานข้อมูลที่ใช้เป็นอะไร ฯลฯ
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: ถามข้อสงสัยเกี่ยวกับ VBA กับ VB

#3

Post by bank9597 »

:D
ผมมองว่าถ้าหากคิดว่าเป็น Project ใหญ่และต้องการพัฒนาเป็น Appliction ต่างหาก ควรใช้ VB ในการสร้าง Application ครับ สำหรับ VBA แล้วปกติทำงานเกี่ยวกับ Microsoft Office ทั้งหลาย
เป็นโปรเจ็คที่ไม่ใหญ่ครับ อยู่ในระดับเล็กถึงปานกลาง แต่วางแผนถึงอนาคต เพราะบริษัทกำลังขยายตัวครับ (ระบบเดิมใช้ตัวคนเป็นระบบ จัดเก็บข้อมูลเป็นแฟ้มๆไป เวลาจะหาอะไรก็ต้องค้นจากไดรฟ์ในคอมพิวเตอร์ ไม่มีเครื่องมือในการหยิบยกข้อมูลนำเสนอ มักเกิดความล่าช้ามาก และผิดพลาดบ่อยครั้ง เช่น งานบัญชี (ไม่ควรผิดพลาด) เป็นต้น)
การจะใช้ VB หรือ VBA คงต้องกลับมาดูงานครับว่าเป็นงานลักษณะไหน มีความยุ่งยากซับซ้อนเพียงใด
ผมคิดว่างานค่อนข้างซับซ้อนครับ เพราะต้องดึงข้อมูลจากที่เดียวกันไปใช้งานที่แตกต่างกัน เช่นดึงไปใช้ในงานบัญชีในการคำนวนค่าใช้จ่าย นำไปใช้งานสตีอคสินค้า ในการเช็คสินค้าเข้า-ออกและคงคลัง รวมถึงงานสั่งซื้อ เหล่านี้จะใช้ข้อมที่เดียวกัน เพียงแต่วัตถุประสงค์จะต่างกัน
ต้องการใช้ผ่าน Web หรือผ่านเครื่อง Client ธรรมดา ฐานข้อมูลที่ใช้เป็นอะไร ฯลฯ
ในขั้นแรก อยากจะใช้ในออฟฟิศ ผ่านเครื่อง Client ธรรมดา ส่วนในเว็บนั้น ยังไม่มีอะไรมากมาย ฐานข้อมูลที่ใช้? ตรงนี้ผมยังไม่แน่ใจครับ แต่คาดว่าน่าจะใช้ฐานข้อมูลที่มีการทำงานเหมือนกับ Excel เพราะพนักงานทุกคนจะถนัดโปรแกรมนี้อยู่แล้ว

ในอีกไม่กี่วัน บริษัทจะติดตั้งเซิรฟเวอร์ รู้สึกกังวลมากเพราะเรายังขาดระบบที่ดี ในการจัดการบริหารข้อมูล คงเอาเซิรฟเวอร์มาเป็นที่เก็บไฟล์งานเท่านั้นครับ เคยจ้างนักโปรแกรมมาสร้างระบบ(SQL) ปรากฏว่าไม่เวิร์ก ไม่ทันต่อการใช้งาน Excel ดีกว่า แต่พอข้อมูลเริ่มเยอะ จึงต้องหาวิธีใหม่ ดั่งที่กล่าวมาข้างต้นครับ
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ถามข้อสงสัยเกี่ยวกับ VBA กับ VB

#4

Post by snasui »

:lol: สรุปทางเลือกให้เลยแล้วกันครับ
1. ใช้โปรแกรม ERP เช่น SAP B1
2. จ้าง Vendor พัฒนาโปรแกรมตามที่ต้องการ
3. พัฒนาเองอาจจะด้วย VB หรือ C# หรือ อื่น ๆ ตามถนัด
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: ถามข้อสงสัยเกี่ยวกับ VBA กับ VB

#5

Post by bank9597 »

:D ขอบคุณครับอาจารย์
ว่าแต่ โปรแกรม ERP เช่น SAP B1 อันนี้ผมไม่รู้จัก :roll:

ส่วนเรื่องจ้างคนอื่นมาทำ อันนี้ผมไม่เอาแน่ อิอิ เพราะเขาไม่รู้งานเราจริง เท่ากับเรา อีกอย่างคือเราจะหมดโอกาสศึกษาความรู้ในเรื่องสายงานของเราเอง ยังไงผมยอมเหนื่อยเพื่อความรู้ครับ
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ถามข้อสงสัยเกี่ยวกับ VBA กับ VB

#6

Post by snasui »

:D SAP B1 คืออะไรดูที่นี่ครับ http://www.sap.com/thailand/sme/solutio ... /index.epx

ส่วนที่บอกว่า
bank9597 wrote:ส่วนเรื่องจ้างคนอื่นมาทำ อันนี้ผมไม่เอาแน่ อิอิ เพราะเขาไม่รู้งานเราจริง เท่ากับเรา
ถ้าเป็น Software House ระดับมืออาชีพ เรื่องนี้เป็นเรื่องเล็กครับ
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: ถามข้อสงสัยเกี่ยวกับ VBA กับ VB

#7

Post by bank9597 »

ขอบคุณครับอาจารย์ อิอิ
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: ถามข้อสงสัยเกี่ยวกับ VBA กับ VB

#8

Post by bank9597 »

:) รบกวนอีกนิดครับอาจารย์ ผมอยากให้อาจารย์แนะนำหนังสือให้หน่อยครับ วันหยุดนี้ผมจะหาซื้อดู เอาเป็นภาษาไทยน่ะครับ เพราะอังกฤษผมไม่คล่อง

ลืมบอกว่าผมจะศึกษา Vb ครับ
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ถามข้อสงสัยเกี่ยวกับ VBA กับ VB

#9

Post by snasui »

:oops: :sg: :tt: ต้องขออภัยที่ไม่สามารถแนะนำตำราไทย เนื่องจากไม่เคยอ่านหนังสือเกี่ยวกับ Programming ที่เป็นภาษาไทยเลยครับ ท่านใดทราบช่วยแนะนำด้วยนะครับ :P
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: ถามข้อสงสัยเกี่ยวกับ VBA กับ VB

#10

Post by bank9597 »

:mrgreen: มันก็จริงอย่างที่อาจารย์บอกครับ เพราะรู้สึกว่าตำราไทยถูกเขียนโดยผู้ที่ไม่แตกฉานในสิ่งที่เขาเขียนจริง :tt:

ว่าแต่ผมจะทำไงดีล่ะ ให้ลุยภาษาอังกฤษคงลำบากน่าดู :lol:
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
Post Reply