Page 2 of 2
Re: โค้ด VBA ใน UserForm
Posted: Sun Nov 04, 2012 4:38 pm
by joo
ลองปรับโค๊ดที่ Text Box2 แบบนี้ดูครับ ว่าตรงกับที่ต้องการไหม
Code: Select all
Private Sub TextBox2_AfterUpdate()
TextBox9.Text = TextBox1.Text * TextBox2.Text
TextBox9 = Format(CDbl(TextBox9), "0.00")
TextBox10.Text = TextBox2.Text * 2 + TextBox1.Text * 2
TextBox10 = Format(CDbl(TextBox10), "0.00")
TextBox7.Text = TextBox1.Text * 2 + TextBox2.Text * 2
TextBox7 = Format(CDbl(TextBox7), "0.00")
End Sub
Re: โค้ด VBA ใน UserForm
Posted: Mon Nov 05, 2012 8:12 am
by kio2002
ขอบคุณครับท่าน ได้ตามที่ต้องการแล้วครับ ขอบคุณมากครับ
Re: โค้ด VBA ใน UserForm
Posted: Sun Nov 18, 2012 2:13 pm
by kio2002
เรียนทุกท่านครับ
คือว่าผมจะคีย์ข้อมูลใน userform4 ช่อง textbox1,combobox1,textbox2 แล้วให้มันส่งค่าไปยังอีก Userform3 ลงใน textbox7,8,9
จะปรับโค้ดยังไงครับ เท่าที่ผมเขียนมา พอคลิกบันทึกข้อมูลใน Userform4 แล้วมัน Error
รบกวนทุกท่านช่วยดูให้หน่อยครับ
วิธีเข้า userform4 คลิกที่ บันทึกรายละเอียดคาน แล้วคลิกที่ เหล็กปลอก
โค้ดอยู่ที่ UserForm4 ครับ
Private Sub CommandButton1_Click()
Set us = UserForm3
TextBox = us.Text
'Copy The Data To The Database
End If
us.Text(TextBox, 1).Value = UserForm3.TextBox7.Value
us.Text(ComboBox, 1).Value = UserForm3.TextBox8.Value
us.Text(TextBox, 2).Value = UserForm3.TextBox9.Value
End Sub
ขอบคุณครับ
Re: โค้ด VBA ใน UserForm
Posted: Sun Nov 18, 2012 3:43 pm
by snasui
ถ้าอธิบายมาถูกต้อง ลองปรับ Code เป็นตามด้านล่างครับ
Code: Select all
Private Sub CommandButton1_Click()
Set Us = UserForm3
' TextBox = us.Text
'Copy The Data To The Database
' End If
Us.TextBox7.Value = UserForm4.TextBox1.Text
Us.TextBox8.Value = UserForm4.ComboBox1.Text
Us.TextBox9.Value = UserForm4.TextBox2.Text
End Sub
Re: โค้ด VBA ใน UserForm
Posted: Sun Nov 18, 2012 4:19 pm
by kio2002
ผมปรับโค้ดตามท่านปรากฏว่าใช้ได้แล้วครับ
Private Sub CommandButton1_Click()
Set Us = UserForm3
' TextBox = us.Text
'Copy The Data To The Database
' End If
Us.TextBox7.Value = UserForm4.TextBox1.Text
Us.TextBox8.Value = UserForm4.ComboBox1.Text
Us.TextBox9.Value = UserForm4.TextBox2.Text
Unload Me
End Sub
ผมได้เพิ่ม Unload Me ลงไปแล้ว เวลาผม Enter ปุ่ม บันทึกข้อมูล แล้ว UserForm4 มันก็ปิดตามที่ผมต้องการ
แต่ว่า Cursor มันไม่ไปที่ Textbox5 ที่ UserForm3 อัติโนมัติ จะต้องปรับโค้ดตรงไหนเพิ่มอีกครับ
ส่วน Tabindex ผมก็ปรับเรียงตามลำดับน่ะ รบกวนท่านช่วยหน่อยครับ
Re: โค้ด VBA ใน UserForm
Posted: Sun Nov 18, 2012 9:27 pm
by snasui
ลองดูตัวอย่างการปรับ Code ตามด้านล่างครับ
Code: Select all
Private Sub CommandButton1_Click()
Set us = UserForm3
' TextBox = us.Text
'Copy The Data To The Database
' End If
us.TextBox7.Value = UserForm4.TextBox1.Text
us.TextBox8.Value = UserForm4.ComboBox1.Text
us.TextBox9.Value = UserForm4.TextBox2.Text
us.TextBox5.SetFocus
Unload Me
End Sub
สำหรับการโพสต์ Code ให้แสดงเป็น Code เพื่อความสะดวกในการ่อ่านและ Copy ไปใช้ ดูที่นี่ครับ
viewtopic.php?f=3&t=1187
Re: โค้ด VBA ใน UserForm
Posted: Mon Nov 19, 2012 3:06 pm
by Supfile2529
kio2002 wrote:ขอบคุณครับท่าน เอาไปใส่ตามที่บอก อันนี้ได้แล้วครับ
ท่านครับ
สมมุติผมสร้าง TextBox 1,2,3,4 ตามลำดับ
แล้วพอผมเข้า userform cursor มันไปอยู่ที่ textbox1 แล้วผมก็ enter มันก็ไป textbox2,3,4 ตามลำดับ
แล้วพอผมลบ textbox2 ออก แล้วมาเปลี่ยนเป็น combobox พอเข้าฟอร์ม แล้ว enter มันข้าม combobox ไป textbox3
คือผมอยากให้ cursor มันไป textbox1, combobox1 , textbox3,4 ตามที่ต้องการ
มีวิธีไหมครับที่จะให้ cursor มันไปตามที่เราต้องการให้ไป
ขอบคุณครับ
ตามที่หลายท่านตอบ เจ๋ง ๆ ทั้งนั้นครับ
ถ้าเป็นการ Setting TabIndex จะเป็นกำหนดให้ Run Focus ตาม Index 1,2,3,4 อะไรประมาณนี้ (ตามที่ผมเข้าใจน่ะ)
มีอีกวิธีน่ะครับ
คือ Setting propertie ===> TabStop = False
แล้วสั่ง Code ให้ Focus ตามจุดที่เราต้องการน่ะครับ วิธีนี้ผมใช้อยู่ครับ (ก็ได้ความรู้มาจากในนี้แหล่ะครับ จากหลาย ๆ ท่านบอกมาครับ)
Me.TextBox1.SetFocus
ถ้าผิดพลาดประการณ์ใดก็ต้องขออภัยไว้ ณ ที่นี้ด้วย
ขอบคุณครับ.
Re: โค้ด VBA ใน UserForm
Posted: Mon Nov 19, 2012 8:29 pm
by kio2002
เรียนทุกท่านครับ
ผมติดปัญหาอยู่ตรงนี้ครับ
1 เวลาผมป้อนข้อมูลลงใน Combobox5, TextBox1,2 แล้วพอผมคลิก "บันทึกข้อมูลลงตาราง" มันก็ลงตามที่ผมต้องการ
แต่ว่าพอทำอีกรอบหนึ่ง เหมือนเดิม ข้อมูลที่ป้อนไป มันลงไปทับอันเดิมครับ ซึ่งมันไม่ลงไปเรื่อยๆ ผมไม่รู้ว่าผิดตรงไหน ซึ่งผมก็พยายามดูชุดเก่าที่ทุกท่านเคยเขียนให้ดู
แต่ก็ไม่ได้ครับ รบกวนทุกท่านช่วยดูโค้ดให้หน่อยครับ
โค้ดอยู่ที่ UserForm3 มีโค้ดดังนี้
Code: Select all
Private Sub CommandButton1_Click()
Set ws = Worksheets("S_Beam1")
irow = ws.Cells(Rows.Count, 1) _
.End(xlUp).Offset(9, 0).Row
'Copy The Data To The Database
If Range("D10") = "" Then
ws.Cells(irow, 4).Value = 1
Else
ws.Cells(irow, 4).Value = Range("D9").End(xlDown) + 1
End If
ws.Cells(irow, 5).Value = Me.ComboBox5.Value
ws.Cells(irow, 6).Value = Me.TextBox1.Value
ws.Cells(irow, 7).Value = Me.TextBox2.Value
Unload Me
UserForm3.Show
End Sub
Re: โค้ด VBA ใน UserForm
Posted: Mon Nov 19, 2012 9:39 pm
by snasui
ลองปรับ Code เป็นตามด้านล่างครับ
Code: Select all
'Other code
irow = ws.Cells(Rows.Count, 4) _
.End(xlUp).Offset(1, 0).Row
'Other code