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

code Vba ในการสั่ง เปิด - ปิด UserForm

ฟอรัมถาม-ตอบปัญหาการใช้งาน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
snoopy1150
Member
Member
Posts: 84
Joined: Mon Sep 05, 2011 7:03 pm
Location: Bangkok, Thailand

code Vba ในการสั่ง เปิด - ปิด UserForm

#1

Post by snoopy1150 »

เรียน อาจารย์ ครับ

คือผมได้ลองทำ UserForm และลองใช้ดูแต่ผมติดปัญหาคือ เวลากด Back Menu แต่โค๊ดดัน Runtime ครับ

จึงขอรบกวนช่วยดูและแนะนำ โค๊ด ที่ถูกต้องด้วยครับ

ผมได้แนบไฟล์มาด้วยครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31178
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: code Vba ในการสั่ง เปิด - ปิด UserForm

#2

Post by snasui »

:D ผมสามารถคลิกได้ไม่มีปัญหาใดครับ
snoopy1150
Member
Member
Posts: 84
Joined: Mon Sep 05, 2011 7:03 pm
Location: Bangkok, Thailand

Re: code Vba ในการสั่ง เปิด - ปิด UserForm

#3

Post by snoopy1150 »

คือยย่างนี้ครับ

ในส่วนของ UserForm2 ปุ่ม Back Menu ถ้าเอาคำสั่ง On Error Resume Next ออก
แล้วลองรัน Code ดู ปรากฏว่าสามารถรันได้ แต่พอทำจริงดันติด ครับ

แล้วถ้าไม่เอาคำสั่ง On Error Resume Next ออก อยากจะให้ frmMain ยัง Show อยู่ครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31178
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: code Vba ในการสั่ง เปิด - ปิด UserForm

#4

Post by snasui »

:D ลองดู Code ตามด้านล่างครับ สังเกตตรง UserForm3 จะมีการ Mark เป็น Comment เนื่องจากไฟล์ที่แนบมาไม่มีชีทนั้น

frmMain

Code: Select all

Private Sub CmdCableModem_Click()
    frmMain.Hide
    UserForm3.Show
End Sub

Private Sub CmdFullSet_Click()
    frmMain.Hide
    UserForm2.Show
End Sub

Private Sub CommandButton1_Click()
    Unload Me
End Sub
UserForm2

Code: Select all

Private Sub CommandButton1_Click()
    UserForm2.Hide
    Sheets("3000000585").Visible = False
    Sheets("3000010513").Visible = False
    Sheets("2000010021").Visible = False
    Sheets("Main Menu").Select
    frmMain.Show
End Sub
UserForm3

Code: Select all

Private Sub CommandButton1_Click()
   UserForm3.Hide
   Sheets("2000010021").Visible = False
   'Sheets("2000010649").Visible = False
   'Sheets("2000010660").Visible = False
   'Sheets("2000010774").Visible = False
   'Sheets("3000000795").Visible = False
   'Sheets("3000000796").Visible = False
   'Sheets("2000010032").Visible = False
   'Sheets("2000010542").Visible = False
   Sheets("Main Menu").Select
   frmMain.Show
End Sub
UserForm4

Code: Select all

Private Sub CommandButton1_Click()
    UserForm4.Hide
    frmMain.Show
End Sub
snoopy1150
Member
Member
Posts: 84
Joined: Mon Sep 05, 2011 7:03 pm
Location: Bangkok, Thailand

Re: code Vba ในการสั่ง เปิด - ปิด UserForm

#5

Post by snoopy1150 »

ขอบคุณครับสำหรับคำตอบและเป็นประโยชน์มากครับ

ที่นี้ผมขอถามต่อว่า ที่กล่องสี่เหลี่ยม เราจะสามารถ ทำ Code ที่กดที่กล่องแล้วเด้งหน้า Insert รูปขึ้นมาได้หรือไม่ครับ

ถ้าได้รบกวนขอแนวทางด้วยครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31178
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: code Vba ในการสั่ง เปิด - ปิด UserForm

#6

Post by snasui »

:D สามารถ Assign Macro ให้กับกล่องสี่เหลี่ยมเพื่อเรียกใช้ Code สำหรับการเปิด Dialogs แทรกรูปขึ้นมาได้ Code สำหรับการแทกรูปลองใช้ Statement ตามด้านล่างครับ

Code: Select all

Application.Dialogs(xlDialogInsertPicture).Show
snoopy1150
Member
Member
Posts: 84
Joined: Mon Sep 05, 2011 7:03 pm
Location: Bangkok, Thailand

Re: code Vba ในการสั่ง เปิด - ปิด UserForm

#7

Post by snoopy1150 »

อาจารย์ขอถามต่ออีกนิดครับ แล้วถ้าต้องการให้รูปอยู่ในกรอบเลยต้องเขียนยังไงครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31178
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: code Vba ในการสั่ง เปิด - ปิด UserForm

#8

Post by snasui »

:D ลองดูตัวอย่างการปรับความสูง ความกว้างของรูปตามกระทู้นี้ครับ http://www.snasui.com/viewtopic.php?f=3&t=324
snoopy1150
Member
Member
Posts: 84
Joined: Mon Sep 05, 2011 7:03 pm
Location: Bangkok, Thailand

Re: code Vba ในการสั่ง เปิด - ปิด UserForm

#9

Post by snoopy1150 »

เรียน อาจารย์ครับ


ผมได้ลองศึกษาดูแล้วและผมก็ได้ลองเขียน code ดู แต่รูปมันไม่อยู่ในกรอบที่เรากำหนดครับ

ผมได้แนบ code มาด้วยครับ

Code: Select all

Sub ÊÕèàËÅÕèÂÁ¼×¹¼éÒ7_Click()
Application.Dialogs(xlDialogInsertPicture).Show
Dim r As String
Dim imgIcon
On Error Resume Next
With ActiveSheet.Shapes(7)
    Set imgIcon = ActiveSheet.Shapes.AddPicture( _
    SaveWithDocument:=True, Left:=.Left, Top:=.Top, _
    Width:=.Width, Height:=.Height)
End With
Set imgIcon = Nothing
End Sub
User avatar
snasui
Site Admin
Site Admin
Posts: 31178
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: code Vba ในการสั่ง เปิด - ปิด UserForm

#10

Post by snasui »

:D ลองดูตัวอย่าง Code ตามด้านล่างครับ

Code: Select all

Sub test()
    Application.Dialogs(xlDialogInsertPicture).Show
    With Selection
        .Left = Range("A2:H15").Left
        .Top = Range("A2:H15").Top
        .Width = Range("A2:H15").Width
        .Height = Range("A2:H15").Height
    End With
End Sub
snoopy1150
Member
Member
Posts: 84
Joined: Mon Sep 05, 2011 7:03 pm
Location: Bangkok, Thailand

Re: code Vba ในการสั่ง เปิด - ปิด UserForm

#11

Post by snoopy1150 »

ขอบคุณครับอาจารย์

สุดท้ายผมขอถามอีกอย่างหนึ่งครับ code ที่ใช้ เปลี่ยนรูป ต้องเขียนยังไงครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31178
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: code Vba ในการสั่ง เปิด - ปิด UserForm

#12

Post by snasui »

:D สำหรับการเปลี่ยนรูปเขียนมาก่อนดีกว่าครับ ติดตรงไหนก็มาถามกัน คิดว่าไม่น่าจะยากครับ

หลักการง่าย ๆ คือ ลบรูปเดิมทิ้งไปก่อน แล้วเลือกรูปใหม่โดย Code เดิมครับ
snoopy1150
Member
Member
Posts: 84
Joined: Mon Sep 05, 2011 7:03 pm
Location: Bangkok, Thailand

Re: code Vba ในการสั่ง เปิด - ปิด UserForm

#13

Post by snoopy1150 »

เรียน อาจารย์ ครับ

ผมได้ลองปรับ code ตามที่ อาจารย์ แนะนำมาแล้วครับ และก็เสร้จสมบูรณ์ แล้วครับ

ขอบคุณ อาจารย์ มากครับที่ค่อยแนะนำและชี้แนะ ครับ
Post Reply