สวัสดีครับ
ต้องขอบอกว่าที่ท่านผู้รู้ได้ตอบผมไป ผมได้นำไปต่อยอดแล้ว แต่ว่ามีความต้องการเพิ่มว่า ถ้าข้อมูลจากเซลล์ D6 ที่เป็นชื่อประเภทถ้าเป็นประเภทเดียวกันซึ่งได้จากการดูในช่อง B:B ของแต่ละชี้ต
ก็ให้วางแทนที่ ทั้งแถว เสมือนหนึ่งการวางแบบแก้ไขข้อมูลที่มีลักษณะบางอย่างเป็นตัวตั้งในที่นี้ผมใช้รหัสเอกสารหรืก Document Number เป็นตัวหลักในการแก้ไขข้อมูลแล้วเขียนโค้ดว่าถ้าคอลัมพ์ b:b มีชื่อตรงกันก็ให้นำข้อมูลใน template ไปวางแทนทั้งแถวครับ
แต่ผมได้ลองปรับโค้ดแล้วแต่ยัง error อยู่ครับ การ error จะเกี่ยวกับ else if ที่ผมยังไม่คล่องเขียน VB หรือปล่าวครับ ผมได้ส่งไฟล์มาตอนที่เขียนว่ายัง error อยู่ อยู่ชี้ตหลักคือ ชี้ต enter
Code: Select all
Sub RecordNew()
Dim rs As Range, rt As Range
Dim rs1 As Range, rt1 As Range
Dim i As Integer
Worksheets("Enter").Range("M8") _
= Application.Max(Worksheets("Master1") _
.Range("Ao:Ao")) + 1
With Worksheets("Template1")
i = Worksheets("Enter").Range("m6").Value
Set rs = .Range(.Range("A2"), .Range("AO" & i + 1))
Set rs1 = .Range("A6:O" & 6 + .Range("A4") - 1)
Set rs2 = .Range("A10:O" & 10 + .Range("A4") - 1)
End With
Set rt = Worksheets("Master1") _
.Range("A65536").End(xlUp).Offset(1, 0)
Set rt1 = Worksheets("SOP") _
.Range("A65536").End(xlUp).Offset(1, 0)
Set rt2 = Worksheets("WI") _
.Range("A65536").End(xlUp).Offset(1, 0)
Application.CutCopyMode = False
If [d14].Value = "SOP" Then
rs1.Copy
rt1.PasteSpecial xlPasteValues
Else
Dim lng As Long
lng = Application.Match(Sheets("BOM").Range("d6"), _
Sheets("SOP").Range("b:b"), 0)
Else
rs2.Copy
rt2.PasteSpecial xlPasteValues
Else
Dim lng As Long
lng = Application.Match(Sheets("BOM").Range("d6"), _
Sheets("WI").Range("b:b"), 0)
End If
MsgBox "Finish"
End Sub
You do not have the required permissions to view the files attached to this post.