Page 1 of 1

หัดใช้ VBA ครั้งแรก ขอคำแนะนำด้วยครับ

Posted: Sun Jan 20, 2019 9:19 am
by poon747
เพิ่งจะเริ่มเรียนรู้ VBA ครั้งแรก โดยค้นหาตัวอย่างที่ใกล้เคียงและลองปรับเปลี่ยนดูแล้ว ผมทำได้เท่านี้ครับ เลยขอคำแนะนำ ดังนี้ครับ
1.จริงๆผมต้องการให้เปิด file มาแล้วให้แสดง หน้า Home เต็มหน้าจอเลย แต่เห็นว่าบางเครื่องถ้าไม่เปิดใช้งาน macro ก็อาจจะ run ไม่ได้ เลยใช้วิธีนี้แทนครับ คือให้คลิ๊กแล้วพาไปหน้า Home
2.ต้องการให้คลิ๊กเลือกที่ menu หน้า home แล้วให้เชื่อมไปยัง sheet นั้นๆ
3.เมื่อต้องการกลับมาที่หน้า Home ก็คลิ๊ก menu Home
ขอบคุณครับ

Re: หัดใช้ VBA ครั้งแรก ขอคำแนะนำด้วยครับ

Posted: Sun Jan 20, 2019 9:47 am
by snasui
:D การสอบถาม VBA จำเป็นต้องเขียนกันมาเองก่อน เนื่องจากจะเน้นแก้ไขที่เป็นปัญหาเท่านั้น อ่านกฎการใช้บอร์ดข้อ 5 ด้านบนประกอบครับ :roll:

ไฟล์แนบของคำถามที่เป็น VBA จะต้องเป็นไฟล์ที่ได้เขียน VBA มาเองแล้วและมี Code อยู่ในไฟล์นั้น ทั้งนี้ ไฟล์ที่จะแนบ VBA เข้าไปได้จะต้องมีนามสกุลอื่นที่ไม่ใช่ .xlsx เช่น .xlsm, .xlsb เป็นต้น

เท่าที่อ่านดูเหมือนว่าต้องการแค่การทำ Hyperlink หากเป็นเช่นนั้นสามารถทำตามด้านล่างครับ
  1. สร้างรูปวาด ๆ ใด ๆ แล้วคลิกขวา เลือก Hyperlink
  2. ในกล่อง Link to: ตรงด้านซ้ายของกล่อง Insert Hyperlink เลือก Place in This Document
  3. ตรง type the cell reference: เลือกเซลล์ที่ต้องการให้ Link ไป
  4. ในกล่อง Or select a place in this document: ให้เลือกชีตปลายทางที่ต้องการ
  5. ทำเช่นนี้จนครบทุกชีต

Re: หัดใช้ VBA ครั้งแรก ขอคำแนะนำด้วยครับ

Posted: Sun Jan 20, 2019 10:20 am
by poon747
Private Sub ToggleButton1_Click()
Sheets("Sheet2").Select

Private Sub ToggleButton2_Click()
Sheets("Sheet3").Select

Private Sub ToggleButton3_Click()
Sheets("Sheet4").Select

End Sub

Re: หัดใช้ VBA ครั้งแรก ขอคำแนะนำด้วยครับ

Posted: Sun Jan 20, 2019 10:23 am
by snasui
poon747 wrote: Sun Jan 20, 2019 10:20 am Private Sub ToggleButton1_Click()
Sheets("Sheet2").Select

Private Sub ToggleButton2_Click()
Sheets("Sheet3").Select

Private Sub ToggleButton3_Click()
Sheets("Sheet4").Select

End Sub
:D แนบไฟล์ที่ลองเขียนมาเองด้วย ชี้ให้เห็นว่าติดปัญหาตรงไหนอย่างไรมา การโพสต์ Code กรุณาทบทวนกฎการใช้บอร์ดด้านบน :roll: จะได้สะดวกในการอ่านครับ

Re: หัดใช้ VBA ครั้งแรก ขอคำแนะนำด้วยครับ

Posted: Sun Jan 20, 2019 10:33 am
by poon747
พอดีจำเป็นต้องใช้เป็นกรณีเร่งด่วน และมีเวลาในการเรียนรู้ไม่มาก ผมเลยหาตัวอย่างใน online มาปรับใช้ครับ บางคำสั่งผมเลยไม่เข้าใจ
ถ้าเป็น การ link จาก sheet 1 ไป 2 หรือ 2 กลับ มา 1 อันนี้ ผมทำได้อยุ่ครับ จาก hyperlink แต่ผมอยาก link จากหน้า home เนื่องจากหน้า home ของผม มีข้อมูล จำนวนมาก เลยอยากใช้หน้าจอ full screen เพื่อจะได้ไม่ต้องมีแถบเครื่องมือต่างๆครับ
Test Menu.xls.xlsx

Re: หัดใช้ VBA ครั้งแรก ขอคำแนะนำด้วยครับ

Posted: Sun Jan 20, 2019 10:39 am
by poon747
ผมพยายามอ่านกฏแล้ว แต่ไม่เข้าใจเรื่องนามสกุล ของไฟล์ครับ เลยโพสต์ตามที่เข้าใจครับ หากไม่ถูกตามกฏขออภัยด้วยครับ

Re: หัดใช้ VBA ครั้งแรก ขอคำแนะนำด้วยครับ

Posted: Sun Jan 20, 2019 10:40 am
by snasui
:D ไฟล์ที่แนบมานั้นมีนามสกุลเป็น .xlsx ไม่สามารถแนบ Code ได้ เมื่อเขียน Code แล้วต้อง Save As เป็น .xlsm เช่นนี้เป็นต้น กรุณาแนบไฟล์ที่มี Code มาใหม่ครับ

การแสดงหน้าจอ Full Screen สามารถใช้การบันทึก Macro ได้ วิธีการบันทึก Macro ศึกษาได้จาก Link นี้ครับ http://snasui-excelvba.blogspot.com/2013/02/macro.html

Re: หัดใช้ VBA ครั้งแรก ขอคำแนะนำด้วยครับ

Posted: Sun Jan 20, 2019 10:51 am
by poon747
แก้ไขไฟล์แนบครับ

Re: หัดใช้ VBA ครั้งแรก ขอคำแนะนำด้วยครับ

Posted: Sun Jan 20, 2019 10:57 am
by snasui
:D เมื่อบันทึก Macro แล้วก็ให้กำหนด Macro ให้กับปุ่ม ดูตัวอย่างที่นี่ครับ http://snasui-excelvba.blogspot.com/201 ... macro.html

Re: หัดใช้ VBA ครั้งแรก ขอคำแนะนำด้วยครับ

Posted: Sun Jan 20, 2019 11:21 am
by poon747
ขอรบกวนอีกรอบนะครับ
หลังจากที่ เราคลิ๊ก "Please click here" ไปยัง userforms "home" แล้วต้องการ คลิ๊กเลือก sheet ใหหน้า home เพื่อให้ link ไปยัง Sheet ที่ต้องการ แต่ผมลองเขียน code ตามตัวอย่างที่แนบมาแล้ว มันไม่ทำงานต่อ เลยต้องการคำแนะนำครับ
และได้แนบไฟล์ที่แก้ไขล่าสุด มาอีกครั้ง ขอบคุณครับ

Re: หัดใช้ VBA ครั้งแรก ขอคำแนะนำด้วยครับ

Posted: Sun Jan 20, 2019 11:27 am
by snasui
:D ตัวอย่าง Code ครับ

Code: Select all

Private Sub ToggleButton1_Click()
    Sheets("Sheet2").Select
End Sub

Private Sub ToggleButton2_Click()
    Sheets("Sheet3").Select
End Sub

Private Sub ToggleButton3_Click()
    Sheets("Sheet4").Select
End Sub

Re: หัดใช้ VBA ครั้งแรก ขอคำแนะนำด้วยครับ

Posted: Sun Jan 20, 2019 11:35 am
by poon747

Code: Select all

Private Sub UserForm_Activate()
Application.WindowState = xlMaximized

Me.Height = Application.Height
Me.Width = Application.Width

End Sub

Code: Select all

Private Sub ToggleButton1_click()

Sheets("Sheet2").Select
End Sub

Code: Select all

Private Sub ToggleButton2_Click()
Sheets("Sheet3").Select
End Sub

Code: Select all

Private Sub ToggleButton3_Click()
Sheets("Sheet4").Select

End Sub

Re: หัดใช้ VBA ครั้งแรก ขอคำแนะนำด้วยครับ

Posted: Sun Jan 20, 2019 11:39 am
by snasui
:D กรุณาแก้ไขโพสต์ให้แสดงเป็น Code ดูตัวอย่างในกฎการใช้บอร์ดข้อ 5 ด้านบนโดยด่วน :!: ผมถือว่าได้แจ้งไปหลายครั้งแล้ว โปรดให้ความสำคัญกับข้อความที่ผมแจ้งไปครับ

หลังจากนั้นช่วยอธิบายว่ายังเกิดปัญหาตรงไหน อย่างไรมาด้วย จะได้ช่วยดูต่อไปจากนั้นครับ

Re: หัดใช้ VBA ครั้งแรก ขอคำแนะนำด้วยครับ

Posted: Sun Jan 20, 2019 11:43 am
by poon747
ให้เลือกเปลี่ยน code เพื่อเป็นสีเขียวตรงไหนครับ ดูตามกฏฃ้อ 5 แล้ว มันไม่เหมือนกันครับ

ลองทำแล้วครับ link ไปครับ แต่หน้าจอยังแสดงหน้าเดิมอยู่
อีกนิดหนึ่งครับ ให้มันปิดหน้า Home แล้วพาไปยัง sheet นั้นๆ
ตอนนี้ link ไปแล้ว แต่หน้าจอยังแสดงหน้า home อยู่
ขอบคุณมากครับ

Re: หัดใช้ VBA ครั้งแรก ขอคำแนะนำด้วยครับ

Posted: Sun Jan 20, 2019 11:46 am
by poon747
หน้าจอ ตัวอย่าง ตามไฟล์แนบครับ

Re: หัดใช้ VBA ครั้งแรก ขอคำแนะนำด้วยครับ

Posted: Sun Jan 20, 2019 11:57 am
by snasui
:D จัดการเรื่องโพสต์ให้เรียบร้อยเสียก่อนครับ

ให้กลับไปที่โพสต์เดิมแล้วคลิกตามภาพ จากนั้นแก้ไขโพสต์โดยคีย์ [code] นำหน้าและ [/code] ต่อท้าย Code ทั้งหมด

Re: หัดใช้ VBA ครั้งแรก ขอคำแนะนำด้วยครับ

Posted: Sun Jan 20, 2019 12:10 pm
by poon747
แก้ไข code เป็นสีเขียว ได้แล้วครับ

ลองทำแล้วครับ link ไปครับ แต่หน้าจอยังแสดงหน้าเดิมอยู่
อีกนิดหนึ่งครับ ให้มันปิดหน้า Home แล้วพาไปยัง sheet นั้นๆ
ตอนนี้ link ไปแล้ว แต่หน้าจอยังแสดงหน้า home อยู่
ขอบคุณมากครับ

Re: หัดใช้ VBA ครั้งแรก ขอคำแนะนำด้วยครับ

Posted: Sun Jan 20, 2019 12:14 pm
by snasui
poon747 wrote: Sun Jan 20, 2019 11:43 am ให้เลือกเปลี่ยน code เพื่อเป็นสีเขียวตรงไหนครับ ดูตามกฏฃ้อ 5 แล้ว มันไม่เหมือนกันครับ

ลองทำแล้วครับ link ไปครับ แต่หน้าจอยังแสดงหน้าเดิมอยู่
อีกนิดหนึ่งครับ ให้มันปิดหน้า Home แล้วพาไปยัง sheet นั้นๆ
ตอนนี้ link ไปแล้ว แต่หน้าจอยังแสดงหน้า home อยู่
ขอบคุณมากครับ
:D หากไปที่ Sheet ปลายทางแล้วปิด Form ให้เพิ่ม Code เป็นด้านล่างครับ

Code: Select all

Private Sub ToggleButton1_click()
    Sheets("Sheet2").Select
    Home.Hide
End Sub

Re: หัดใช้ VBA ครั้งแรก ขอคำแนะนำด้วยครับ

Posted: Sun Jan 20, 2019 12:36 pm
by poon747
ขอบคุณอาจารย์มากครับ ที่แนะนำ วันนี้ได้เรียนรู้สิ่งใหม่ๆ กับ excel หลายอย่างเลย
ขอบคุณจริงๆครับ และต้องขออภัยด้วยที่บางโพสต์ ไม่ถูกกฏครับ