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

ผมสามารถคลิกได้ไม่มีปัญหาใดครับ
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

ลองดู 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

สามารถ 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

ลองดูตัวอย่างการปรับความสูง ความกว้างของรูปตามกระทู้นี้ครับ
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

ลองดูตัวอย่าง 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

สำหรับการเปลี่ยนรูปเขียนมาก่อนดีกว่าครับ ติดตรงไหนก็มาถามกัน คิดว่าไม่น่าจะยากครับ
หลักการง่าย ๆ คือ ลบรูปเดิมทิ้งไปก่อน แล้วเลือกรูปใหม่โดย Code เดิมครับ
Re: code Vba ในการสั่ง เปิด - ปิด UserForm
Posted: Mon Jun 25, 2012 12:53 pm
by snoopy1150
เรียน อาจารย์ ครับ
ผมได้ลองปรับ code ตามที่ อาจารย์ แนะนำมาแล้วครับ และก็เสร้จสมบูรณ์ แล้วครับ
ขอบคุณ อาจารย์ มากครับที่ค่อยแนะนำและชี้แนะ ครับ