Page 1 of 1

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

Posted: Fri Jun 22, 2012 7:11 pm
by snoopy1150
เรียน อาจารย์ ครับ

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

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

ผมได้แนบไฟล์มาด้วยครับ

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

Posted: Fri Jun 22, 2012 7:32 pm
by snasui
:D ผมสามารถคลิกได้ไม่มีปัญหาใดครับ

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

Posted: Sat Jun 23, 2012 1:38 pm
by snoopy1150
คือยย่างนี้ครับ

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

แล้วถ้าไม่เอาคำสั่ง On Error Resume Next ออก อยากจะให้ frmMain ยัง Show อยู่ครับ

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

Posted: Sat Jun 23, 2012 2:35 pm
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

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

Posted: Sat Jun 23, 2012 9:53 pm
by snoopy1150
ขอบคุณครับสำหรับคำตอบและเป็นประโยชน์มากครับ

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

ถ้าได้รบกวนขอแนวทางด้วยครับ

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

Posted: Sun Jun 24, 2012 7:10 am
by snasui
:D สามารถ Assign Macro ให้กับกล่องสี่เหลี่ยมเพื่อเรียกใช้ Code สำหรับการเปิด Dialogs แทรกรูปขึ้นมาได้ Code สำหรับการแทกรูปลองใช้ Statement ตามด้านล่างครับ

Code: Select all

Application.Dialogs(xlDialogInsertPicture).Show

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

Posted: Sun Jun 24, 2012 12:30 pm
by snoopy1150
อาจารย์ขอถามต่ออีกนิดครับ แล้วถ้าต้องการให้รูปอยู่ในกรอบเลยต้องเขียนยังไงครับ

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

Posted: Sun Jun 24, 2012 12:44 pm
by snasui
:D ลองดูตัวอย่างการปรับความสูง ความกว้างของรูปตามกระทู้นี้ครับ http://www.snasui.com/viewtopic.php?f=3&t=324

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

Posted: Sun Jun 24, 2012 1:45 pm
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

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

Posted: Sun Jun 24, 2012 2:31 pm
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

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

Posted: Sun Jun 24, 2012 7:20 pm
by snoopy1150
ขอบคุณครับอาจารย์

สุดท้ายผมขอถามอีกอย่างหนึ่งครับ code ที่ใช้ เปลี่ยนรูป ต้องเขียนยังไงครับ

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

Posted: Sun Jun 24, 2012 7:24 pm
by snasui
:D สำหรับการเปลี่ยนรูปเขียนมาก่อนดีกว่าครับ ติดตรงไหนก็มาถามกัน คิดว่าไม่น่าจะยากครับ

หลักการง่าย ๆ คือ ลบรูปเดิมทิ้งไปก่อน แล้วเลือกรูปใหม่โดย Code เดิมครับ

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

Posted: Mon Jun 25, 2012 12:53 pm
by snoopy1150
เรียน อาจารย์ ครับ

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

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