Page 1 of 1
ต้องการให้ Text box แสดงค่า ข้อมูล โดยมีเงือนไง ค่าจาก Listbox
Posted: Sat Oct 27, 2018 1:52 pm
by titus
สอบถามเพื่อนสมาชิกครับ (กดปุ่ม เบิกลูกใหญ่)
ต้องการให้ Text box(จำนวน) แสดงค่า ข้อมูล โดยมีเงือนไง ค่าจาก Listbox (Bat เหล็ก)
คล้ายๆ สูตร Vlook up
Code: Select all
Private Sub txtq_Change()
On Error Resume Next
With Application.WorksheetFunction
txtq.Value = .VLookup(Val(cbbat.Text), Sheets("J01").Range("DATAJ01"), 2, False)
'txtprice.Value = .VLookup(Val(txtcode.Text), Sheets("DATA").Range("teble2"), 3, False)
End With
End Sub
ลองดูแล้วครับมันไม่แสดงผล
ขอบคุณครับ
Re: ต้องการให้ Text box แสดงค่า ข้อมูล โดยมีเงือนไง ค่าจาก Listbox
Posted: Sat Oct 27, 2018 2:14 pm
by snasui
ปุ่ม "เบิกลูกใหญ่" อยู่ที่ชีตไหน ตำแหน่งเซลล์ไหนครับ กดแล้วเปิด Form ใด ค่าทดสอบคือค่าใดบ้าง ผลลัพธ์หากถูกต้อง Object ใดจะต้องได้ค่าใดบ้างช่วยอธิบายมาอีกรอบครับ
Re: ต้องการให้ Text box แสดงค่า ข้อมูล โดยมีเงือนไง ค่าจาก Listbox
Posted: Sat Oct 27, 2018 2:25 pm
by titus
snasui wrote: Sat Oct 27, 2018 2:14 pm
ปุ่ม "เบิกลูกใหญ่" อยู่ที่ชีตไหน ตำแหน่งเซลล์ไหนครับ กดแล้วเปิด Form ใด ค่าทดสอบคือค่าใดบ้าง ผลลัพธ์หากถูกต้อง Object ใดจะต้องได้ค่าใดบ้างช่วยอธิบายมาอีกรอบครับ
โทษที่ครับอาจาร์ย ลืมบอกเลยครับ
อยู่ Sheets J01 ครับ
พอกดแล้วเปิดฟอร์ม Ton2 ครับ
พอกดฟอร์มเเล้ว เราจะใช้ค่า ในช่อง ฺBat เหล็ก เป็นเงื่อนไขในการหาข้อมูลจาก i3:i62
ถ้าเหมือน กันใน cell ไหน ให้แสดงค่า cell ด้านขวามือ ในช่องจำนวน ครับ
Re: ต้องการให้ Text box แสดงค่า ข้อมูล โดยมีเงือนไง ค่าจาก Listbox
Posted: Sat Oct 27, 2018 2:31 pm
by titus
ประมาณนี้ครับ
Re: ต้องการให้ Text box แสดงค่า ข้อมูล โดยมีเงือนไง ค่าจาก Listbox
Posted: Sat Oct 27, 2018 2:43 pm
by snasui
ตัวอย่าง Code ครับ
Code: Select all
Private Sub cbbat_Change()
With Application.WorksheetFunction
txtq.Value = .VLookup(cbbat.Text, Sheets("J01").Range("DATAJ01"), 2, False)
End With
End Sub
Re: ต้องการให้ Text box แสดงค่า ข้อมูล โดยมีเงือนไง ค่าจาก Listbox
Posted: Sat Oct 27, 2018 2:49 pm
by titus
ขอบคุณครับ ผมไปตรวสอบอยู่ที่ ช่องที่จะแสดงนี้เองถึงไม่ขึ้น T T
Re: ต้องการให้ Text box แสดงค่า ข้อมูล โดยมีเงือนไง ค่าจาก Listbox
Posted: Sat Oct 27, 2018 3:15 pm
by titus
snasui wrote: Sat Oct 27, 2018 2:43 pm
ตัวอย่าง Code ครับ
Code: Select all
Private Sub cbbat_Change()
With Application.WorksheetFunction
txtq.Value = .VLookup(cbbat.Text, Sheets("J01").Range("DATAJ01"), 2, False)
End With
End Sub
ขอบคุณครับ อาจาร์ย
สอบถามอีกหน่อยครับ ตอนนี้ Sheet ผมมีแค่ J01-J02 ถ้ามีการ เพิ่มชีท ถึง48 ชีท
ผมจะเอา ชื่อของ Sheet มาใช้ใน สูตร ได้แบบไหนบางครับ ส่วน Range จะเหมือนกันหมดทุกชีท
Re: ต้องการให้ Text box แสดงค่า ข้อมูล โดยมีเงือนไง ค่าจาก Listbox
Posted: Sat Oct 27, 2018 7:13 pm
by puriwutpokin
titus wrote: Sat Oct 27, 2018 3:15 pm
snasui wrote: Sat Oct 27, 2018 2:43 pm
ตัวอย่าง Code ครับ
Code: Select all
Private Sub cbbat_Change()
With Application.WorksheetFunction
txtq.Value = .VLookup(cbbat.Text, Sheets("J01").Range("DATAJ01"), 2, False)
End With
End Sub
ขอบคุณครับ อาจาร์ย
สอบถามอีกหน่อยครับ ตอนนี้ Sheet ผมมีแค่ J01-J02 ถ้ามีการ เพิ่มชีท ถึง48 ชีท
ผมจะเอา ชื่อของ Sheet มาใช้ใน สูตร ได้แบบไหนบางครับ ส่วน Range จะเหมือนกันหมดทุกชีท
ลองปรับเป็นตามนี้ครับ
Code: Select all
Private Sub cbbat_Change()
With Application.WorksheetFunction
txtq.Value = .VLookup(cbbat.Text, ActiveSheet.Range("I3:J63"), 2, False)
End With
End Sub
Re: ต้องการให้ Text box แสดงค่า ข้อมูล โดยมีเงือนไง ค่าจาก Listbox
Posted: Mon Oct 29, 2018 8:35 am
by titus
ขอบคุณครับ
Re: ต้องการให้ Text box แสดงค่า ข้อมูล โดยมีเงือนไง ค่าจาก Listbox
Posted: Mon Oct 29, 2018 11:50 am
by titus
สอบถามเพิ่มเติมครับ หลังจากที่แสดงค่าในช่อง text box เเล้ว กดปุ่ม "เบิก"
ให้นำค่าแต่ละ text box ไป เก็บที่ sheet isue
1.ให้กลับไปที่ sheet เดิม และตำแหน่งของ เดิมของ ข้อมูล Combo box
2ลบข้อมูลที่ส่งไป เก็บที่ sheet isue
3ยกข้อมูลด้านล่างขึ้นมาทั้งหมด โดยไม่ลบ Row ต้องเขียนสูตรยังไง ดีครับ
Re: ต้องการให้ Text box แสดงค่า ข้อมูล โดยมีเงือนไง ค่าจาก Listbox
Posted: Tue Oct 30, 2018 11:43 pm
by snasui
ตัวอย่างการปรับ Code ครับ
Code: Select all
Public line As Long
Private Sub cmdok1_Click()
Sheets("isue").Select
Range("B10000").Select
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Value = cbbat.Text
ActiveCell.Offset(1, 1).Value = txtq.Text
ActiveCell.Offset(1, 2).Value = txtc.Text
ActiveCell.Offset(1, 3).Value = txtd.Text
ActiveCell.Offset(1, 4).Value = txtlot.Text
ActiveCell.Offset(1, 5).Value = txtsize.Text
ActiveCell.Offset(1, 6).Value = txttype.Text
ActiveCell.Offset(1, 7).Value = txtsize2.Text
ActiveCell.Offset(1, 8).Value = txtcom.Text
Sheets("j01").Select
Range(ActiveSheet.Range("c" & line + 1), _
ActiveSheet.Range("c64").End(xlUp)).Resize(, 7).Copy
ActiveSheet.Range("c" & line).PasteSpecial xlPasteValues
ActiveSheet.Range("c64").End(xlUp).Resize(1, 7).ClearContents
Range("a1").Select
End Sub
Private Sub cbbat_Change()
With Application.WorksheetFunction
line = .Match(cbbat.Text, ActiveSheet.Range("c:c"), 0)
txtq.Value = .VLookup(cbbat.Text, ActiveSheet.Range("C3:J63"), 2, False)
txtlot.Value = .VLookup(cbbat.Text, ActiveSheet.Range("C3:J63"), 3, False)
txtsize.Value = .VLookup(cbbat.Text, ActiveSheet.Range("C3:J63"), 4, False)
txttype.Value = .VLookup(cbbat.Text, ActiveSheet.Range("C3:J63"), 5, False)
txtsize2.Value = .VLookup(cbbat.Text, ActiveSheet.Range("C3:J63"), 6, False)
txtcom.Value = .VLookup(cbbat.Text, ActiveSheet.Range("C3:J63"), 7, False)
txtc.Value = .VLookup(cbbat.Text, ActiveSheet.Range("C3:J63"), 8, False)
End With
End Sub
Re: ต้องการให้ Text box แสดงค่า ข้อมูล โดยมีเงือนไง ค่าจาก Listbox
Posted: Wed Oct 31, 2018 8:27 am
by titus
snasui wrote: Tue Oct 30, 2018 11:43 pm
ตัวอย่างการปรับ Code ครับ
Code: Select all
Public line As Long
Private Sub cmdok1_Click()
Sheets("isue").Select
Range("B10000").Select
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Value = cbbat.Text
ActiveCell.Offset(1, 1).Value = txtq.Text
ActiveCell.Offset(1, 2).Value = txtc.Text
ActiveCell.Offset(1, 3).Value = txtd.Text
ActiveCell.Offset(1, 4).Value = txtlot.Text
ActiveCell.Offset(1, 5).Value = txtsize.Text
ActiveCell.Offset(1, 6).Value = txttype.Text
ActiveCell.Offset(1, 7).Value = txtsize2.Text
ActiveCell.Offset(1, 8).Value = txtcom.Text
Sheets("j01").Select
Range(ActiveSheet.Range("c" & line + 1), _
ActiveSheet.Range("c64").End(xlUp)).Resize(, 7).Copy
ActiveSheet.Range("c" & line).PasteSpecial xlPasteValues
ActiveSheet.Range("c64").End(xlUp).Resize(1, 7).ClearContents
Range("a1").Select
End Sub
Private Sub cbbat_Change()
With Application.WorksheetFunction
line = .Match(cbbat.Text, ActiveSheet.Range("c:c"), 0)
txtq.Value = .VLookup(cbbat.Text, ActiveSheet.Range("C3:J63"), 2, False)
txtlot.Value = .VLookup(cbbat.Text, ActiveSheet.Range("C3:J63"), 3, False)
txtsize.Value = .VLookup(cbbat.Text, ActiveSheet.Range("C3:J63"), 4, False)
txttype.Value = .VLookup(cbbat.Text, ActiveSheet.Range("C3:J63"), 5, False)
txtsize2.Value = .VLookup(cbbat.Text, ActiveSheet.Range("C3:J63"), 6, False)
txtcom.Value = .VLookup(cbbat.Text, ActiveSheet.Range("C3:J63"), 7, False)
txtc.Value = .VLookup(cbbat.Text, ActiveSheet.Range("C3:J63"), 8, False)
End With
End Sub
ได้คำสั่งใหม่อีกเเล้ว ขอบคุณครับ อาจารย์
แต่อยากให้อาจารย์อธิบาย คำสั่งหน่อย ครับ
Sheets("j01").Select กลับมาที่ ชีท j01
Range(ActiveSheet.Range("c" & line + 1), _ line +1 หมายความว่ายังไง ครับ อยู่ตำแหน่งไหน
ActiveSheet.Range("c64").End(xlUp)).Resize(, 7).Copy ---resize ทำหน้าที่อะไรครับ
ActiveSheet.Range("c" & line).PasteSpecial xlPasteValues
ActiveSheet.Range("c64").End(xlUp).Resize(1, 7).ClearContents
เพราะตอนนี้ code มัน error ตำแหน่ง นี้ครับ ActiveSheet.Range("c" & line).PasteSpecial xlPasteValues
Re: ต้องการให้ Text box แสดงค่า ข้อมูล โดยมีเงือนไง ค่าจาก Listbox
Posted: Wed Oct 31, 2018 9:19 am
by puriwutpokin
titus wrote: Wed Oct 31, 2018 8:27 am
snasui wrote: Tue Oct 30, 2018 11:43 pm
ตัวอย่างการปรับ Code ครับ
Code: Select all
Public line As Long
Private Sub cmdok1_Click()
Sheets("isue").Select
Range("B10000").Select
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Value = cbbat.Text
ActiveCell.Offset(1, 1).Value = txtq.Text
ActiveCell.Offset(1, 2).Value = txtc.Text
ActiveCell.Offset(1, 3).Value = txtd.Text
ActiveCell.Offset(1, 4).Value = txtlot.Text
ActiveCell.Offset(1, 5).Value = txtsize.Text
ActiveCell.Offset(1, 6).Value = txttype.Text
ActiveCell.Offset(1, 7).Value = txtsize2.Text
ActiveCell.Offset(1, 8).Value = txtcom.Text
Sheets("j01").Select
Range(ActiveSheet.Range("c" & line + 1), _
ActiveSheet.Range("c64").End(xlUp)).Resize(, 7).Copy
ActiveSheet.Range("c" & line).PasteSpecial xlPasteValues
ActiveSheet.Range("c64").End(xlUp).Resize(1, 7).ClearContents
Range("a1").Select
End Sub
Private Sub cbbat_Change()
With Application.WorksheetFunction
line = .Match(cbbat.Text, ActiveSheet.Range("c:c"), 0)
txtq.Value = .VLookup(cbbat.Text, ActiveSheet.Range("C3:J63"), 2, False)
txtlot.Value = .VLookup(cbbat.Text, ActiveSheet.Range("C3:J63"), 3, False)
txtsize.Value = .VLookup(cbbat.Text, ActiveSheet.Range("C3:J63"), 4, False)
txttype.Value = .VLookup(cbbat.Text, ActiveSheet.Range("C3:J63"), 5, False)
txtsize2.Value = .VLookup(cbbat.Text, ActiveSheet.Range("C3:J63"), 6, False)
txtcom.Value = .VLookup(cbbat.Text, ActiveSheet.Range("C3:J63"), 7, False)
txtc.Value = .VLookup(cbbat.Text, ActiveSheet.Range("C3:J63"), 8, False)
End With
End Sub
ได้คำสั่งใหม่อีกเเล้ว ขอบคุณครับ อาจารย์
แต่อยากให้อาจารย์อธิบาย คำสั่งหน่อย ครับ
Sheets("j01").Select กลับมาที่ ชีท j01
Range(ActiveSheet.Range("c" & line + 1), _ line +1 หมายความว่ายังไง ครับ อยู่ตำแหน่งไหน
ActiveSheet.Range("c64").End(xlUp)).Resize(, 7).Copy ---resize ทำหน้าที่อะไรครับ
ActiveSheet.Range("c" & line).PasteSpecial xlPasteValues
ActiveSheet.Range("c64").End(xlUp).Resize(1, 7).ClearContents
เพราะตอนนี้ code มัน error ตำแหน่ง นี้ครับ ActiveSheet.Range("c" & line).PasteSpecial xlPasteValues
ลองปรับทั้งหมดของ Module Ton3 ตามนี้ครับ
Code: Select all
Public line As Long
Private Sub txtdate_Change()
Sheets("report").Select
rang("U2").valule = txtdate.txt
End Sub
Private Sub cmdclose1_Click()
Unload Me
End Sub
Private Sub cmdok1_Click()
With Application.WorksheetFunction
line = .Match(cbbat.Text, ActiveSheet.Range("c:c"), 0)
End With
Sheets("isue").Select
Range("B10000").Select
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Value = cbbat.Text
ActiveCell.Offset(1, 1).Value = txtq.Text
ActiveCell.Offset(1, 2).Value = txtc.Text
ActiveCell.Offset(1, 3).Value = txtd.Text
ActiveCell.Offset(1, 4).Value = txtlot.Text
ActiveCell.Offset(1, 5).Value = txtsize.Text
ActiveCell.Offset(1, 6).Value = txttype.Text
ActiveCell.Offset(1, 7).Value = txtsize2.Text
ActiveCell.Offset(1, 8).Value = txtcom.Text
Sheets("j01").Select
Range(ActiveSheet.Range("c" & line + 1), _
ActiveSheet.Range("c64").End(xlUp)).Resize(, 7).Copy
ActiveSheet.Range("c" & line).PasteSpecial xlPasteValues
ActiveSheet.Range("c64").End(xlUp).Resize(1, 7).ClearContents
Range("a1").Select
End Sub
Private Sub cbbat_Change()
With Application.WorksheetFunction
line = .Match(cbbat.Text, ActiveSheet.Range("c:c"), 0)
txtq.Value = .VLookup(cbbat.Text, ActiveSheet.Range("C3:J63"), 2, False)
txtlot.Value = .VLookup(cbbat.Text, ActiveSheet.Range("C3:J63"), 3, False)
txtsize.Value = .VLookup(cbbat.Text, ActiveSheet.Range("C3:J63"), 4, False)
txttype.Value = .VLookup(cbbat.Text, ActiveSheet.Range("C3:J63"), 5, False)
txtsize2.Value = .VLookup(cbbat.Text, ActiveSheet.Range("C3:J63"), 6, False)
txtcom.Value = .VLookup(cbbat.Text, ActiveSheet.Range("C3:J63"), 7, False)
txtc.Value = .VLookup(cbbat.Text, ActiveSheet.Range("C3:J63"), 8, False)
End With
End Sub
Re: ต้องการให้ Text box แสดงค่า ข้อมูล โดยมีเงือนไง ค่าจาก Listbox
Posted: Thu Nov 01, 2018 11:25 am
by titus
ได้เเล้ว ครับ ขอบคุณครับ