Code VBA ไม่ได้ดั่งใจ
Posted: Thu Feb 16, 2012 10:18 pm
เรียนอาจารย์ ขอความช่วยเหลือเรื่อง Code ค่ะ ชื่อ Sub BeenAr วางอยู่ที่ Module1
ที่ชีท FromPaid มีข้อมูลและเมื่อกดปุ่ม Record
ให้ Code ด้านบนเอาข้อมูลที่ชีท Template A2:O2 Copy ไปชีท AR เอาข้อมูลที่ชีท Template P2:W2 Copy ไปชีท Print
พอทำถึงตรงนี้เริ่มเกิดปัญหาแล้วค่ะ Code ข้อมูลที่ชีท Template A7:F17 Copy ไปชีท DataPaid ไม่ได้ตามที่ต้องการค่ะ
จากตัวอย่างที่คัดลอกมาที่ชีท DataPaid ไม่ทราบจะทำอย่างไรให้คัดลอกมาแค่เซลล์ A2:B3 ตามข้อมูลที่มีเหมือนเซลล์ C2:E3 ตัวอย่างไฟล์แนบที่ชีท DataPaid น่ะค่ะ
ขอบคุณค่ะ
Code: Select all
Sub BeenAr()
Dim i As Integer
Dim rs As Range
Dim rt As Range
Application.ScreenUpdating = False
i = Worksheets("FormPaid").Range("A13")
With Worksheets("Template")
Set rs = .Range(.Range("A7"), .Range("F7" & i + 1))
End With
Set rt = Worksheets("DataPaid").Range("A65536").End(xlUp).Offset(1, 0)
If Worksheets("FormPaid").Range("A13") = True Then
MsgBox "Please check your data. This transaction already recorded."
Exit Sub
End If
If Worksheets("FormPaid").Range("A2") = "" Then
MsgBox "Your data is empty. Fill your data and click record button again."
Exit Sub
End If
rs.Copy: rt.PasteSpecial xlPasteValues
Sheets("Template").Range("A2:O2").Copy
Sheets("AR").Range("A" & Rows.Count).End(xlUp) _
.Offset(1, 0).PasteSpecial xlPasteValues
Sheets("Template").Range("P2:W2").Copy
Sheets("Print").Range("A" & Rows.Count).End(xlUp) _
.Offset(1, 0).PasteSpecial xlPasteValues
Sheets("FormPaid").Range("G3,G7:I7,K7,J8,K5").ClearContents
With Sheets("FormPaid")
.Range("F5") = .Range("F5") + 1
End With
Application.ScreenUpdating = True
End Subให้ Code ด้านบนเอาข้อมูลที่ชีท Template A2:O2 Copy ไปชีท AR เอาข้อมูลที่ชีท Template P2:W2 Copy ไปชีท Print
พอทำถึงตรงนี้เริ่มเกิดปัญหาแล้วค่ะ Code ข้อมูลที่ชีท Template A7:F17 Copy ไปชีท DataPaid ไม่ได้ตามที่ต้องการค่ะ
จากตัวอย่างที่คัดลอกมาที่ชีท DataPaid ไม่ทราบจะทำอย่างไรให้คัดลอกมาแค่เซลล์ A2:B3 ตามข้อมูลที่มีเหมือนเซลล์ C2:E3 ตัวอย่างไฟล์แนบที่ชีท DataPaid น่ะค่ะ
ขอบคุณค่ะ