เรียนอาจารย์และท่านผู้รู้ค่ะ
ไฟล์แนบ PO.xlsm ชีท Form เมื่อกดปุ่ม Record ให้นำข้อมูลไปวางที่ไฟล์ DB.xlsx ชีท Sheet1 โดยเรียงตามวันที่เรียงก่อนหลังที่คอลัมน์ A และเรียงตามลำดับเลขที่เอกสารที่คอลัมน์ D
ติดที่โค๊ดนี้ยังแก้ไม่ได้ค่ะ ยังติดปัญหาทีไฟล์ DB.xlsx ชีท Sheet1 ระบายสีแดงไว้ และที่ต้องการได้ระบายสีเหลืองไว้ค่ะ
Code: Select all
With wbShare
Set shRange = .Sheets("Sheet1").Range("A1", .Range("Z" & Rows.Count).End(xlUp))
shRange.Borders.LineStyle = xlContinuous
shRange.Sort Key1:=.Sheets("Sheet1").Range("D2"), Order1:=xlAscending, Header:=xlGuess
End With
นำมาใช้กับโค๊ดชุดนี้ค่ะ
Code: Select all
Sub PasteData()
Dim wbShare As Workbook
Dim formBook As Workbook
Dim rTarget As Range
Dim i As Integer
Dim E As Long
Dim rs As Range
Dim rt As Range
Dim rd As Range
Dim shRange As Range
Set formBook = ThisWorkbook
Set wbShare = Workbooks("DB.xlsx")
On Error Resume Next
wbShare.Sheets("Sheet1").ShowAllData
With wbShare
E = .Sheets("Sheet1").Range("f" & Rows.Count).End(xlUp).Value + 1
Select Case formBook.Sheets("Form").Range("o2").Value
Case "ใบกำกับภาษี"
E = formBook.Sheets("Sheet1").Range("c2")
Case "ใบส่งสินค้าชั่วคราว"
E = formBook.Sheets("Sheet1").Range("c3")
End Select
formBook.Worksheets("Form").Range("m2").Value = E
End With
wbShare.Save
With formBook
i = .Worksheets("Form").Range("C225").Value
End With
With formBook.Worksheets("Template")
Set rs = .Range(.Range("A2"), .Range("Z" & i + 1))
End With
Set rt = wbShare.Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
If formBook.Worksheets("Form").Range("C225") = True Then
End If
With wbShare
Set shRange = .Sheets("Sheet1").Range("A1", .Range("Z" & Rows.Count).End(xlUp))
shRange.Borders.LineStyle = xlContinuous
shRange.Sort Key1:=.Sheets("Sheet1").Range("D2"), Order1:=xlAscending, Header:=xlGuess
End With
If formBook.Worksheets("Form").Range("B204") = "" Then
MsgBox "Your data is empty. Fill your data and click record button again."
Exit Sub
End If
rs.Copy: rt.PasteSpecial xlPasteValues
formBook.Save
formBook.Activate
formBook.Sheets("Form").Range("D2,B204:B220,D204:D220,D222, E204:F220,O204,N204:N220").ClearContents
End Sub