snasui.com ยินดีต้อนรับ ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
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
Sub BeenAr()
Dim i As Integer
Dim rs As Range
Dim rt As Range
Dim DataPaid 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
With Sheets("DataPaid")
Set DataPaid = .Range("B2", .Range("B" & Rows.Count).End(xlUp))
End With
i = 1
Do While DataPaid.Cells(i, 1) <> ""
If DataPaid.Cells(i, 1).Offset(0, 1) = "" Then
DataPaid.Cells(i, 1).EntireRow.Delete
Else
i = i + 1
End If
Loop
End Sub