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