Re: เซลล์ที่มีสูตรจะจัดการรูปแบบตามเงื่อนไขได้อย่างไรคะ
Posted: Thu Oct 06, 2011 6:55 pm
คลังคำตอบแห่งความรู้จากคนไทย เพื่อโลกที่ต้องการเข้าใจในสิ่งเล็ก ๆ อย่างลึกซึ้ง
https://snasui.com/
Code: Select all
Sub PasteData()
Dim rSource As Range
Dim rTarget As Range
Set rSource = Worksheets("Form").Range("A2:J2")
Set rTarget = Worksheets("Database").Range("A65536").End(xlUp).Offset(1, 0)
rSource.Copy
rTarget.PasteSpecial xlPasteValues
Application.CutCopyMode = False
Set rSource = Worksheets("Form").Range("B2:C2")
Set rTarget = Worksheets("Paid").Range("B" & Rows.Count).End(xlUp) _
.Offset(1, 0)
rSource.Copy
rTarget.PasteSpecial xlPasteValues
Set rSource = Worksheets("Form").Range("F2")
Set rTarget = Worksheets("Paid").Range("D" & Rows.Count).End(xlUp) _
.Offset(1, 0)
rSource.Copy
rTarget.PasteSpecial xlPasteValues
Set rSource = Worksheets("Form").Range("H2")
Set rTarget = Worksheets("Paid").Range("E" & Rows.Count).End(xlUp) _
.Offset(1, 0)
rSource.Copy
rTarget.PasteSpecial xlPasteValues
Application.CutCopyMode = False
Sheets("Form").Range("C2,F2,H2:J2").ClearContents
With Worksheets("Form")
.Range("B2") = .Range("B2") + 1
End With
Application.ScreenUpdating = True
With Worksheets("Form")
.Range("B3") = .Range("B3") + 1
End With
Application.ScreenUpdating = True
End Sub
Code: Select all
Sub PasteData()
Application.ScreenUpdating = False
Sheets("Form").Range("A2:J2").Copy
Sheets("Database").Range("A65536").End(xlUp).Offset(1, 0) _
.PasteSpecial xlPasteValues
Sheets("Form").Range("B2:C2").Copy
Sheets("Paid").Range("B" & Rows.Count).End(xlUp) _
.Offset(1, 0).PasteSpecial xlPasteValues
Sheets("Form").Range("F2").Copy
Sheets("Paid").Range("D" & Rows.Count).End(xlUp) _
.Offset(1, 0).PasteSpecial xlPasteValues
Sheets("Form").Range("H2").Copy
Sheets("Paid").Range("E" & Rows.Count).End(xlUp) _
.Offset(1, 0).PasteSpecial xlPasteValues
Sheets("Form").Range("C2,F2,H2:J2").ClearContents
With Sheets("Form")
.Range("B2") = .Range("B2") + 1
.Range("B3") = .Range("B3") + 1
End With
Sheets("Paid").Range("A" & Rows.Count).End(xlUp).Offset(1, 0) = _
Sheets("Form").Range("B3")
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Subขอบคุณค่ะbank9597 wrote:น่าจะสร้างชีท Temp จัดระเบียบข้อมูลก่อน จะได้ง่ายในการส้รางโค๊ด
ต้องขอขอบคุณ คุณ bank9597 ค่ะbank9597 wrote:น่าจะลองสร้างชีท Temp มาเพิ่มน่ะครับ เพื่อจัดระเบียบข้อมูล ทำให้แก้โค๊ดได้ง่ายและส้นกว่า
ลองดูที่ไฟล์แนบน่ะครับ
Code: Select all
Sub PasteData()
Application.ScreenUpdating = False
Sheets("Template").Range("B2:K2").Copy
Sheets("Database").Range("A65536").End(xlUp).Offset(1, 0) _
.PasteSpecial xlPasteValues
Sheets("Template").Range("C2:D2").Copy
Sheets("Paid").Range("B" & Rows.Count).End(xlUp) _
.Offset(1, 0).PasteSpecial xlPasteValues
Sheets("Template").Range("G2").Copy
Sheets("Paid").Range("D" & Rows.Count).End(xlUp) _
.Offset(1, 0).PasteSpecial xlPasteValues
Sheets("Template").Range("I2").Copy
Sheets("Paid").Range("E" & Rows.Count).End(xlUp) _
.Offset(1, 0).PasteSpecial xlPasteValues
Sheets("Form").Range("C2,F2,H2:J2").ClearContents
With Sheets("Form")
.Range("B2") = .Range("B2") + 1
.Range("B3") = .Range("B3") + 1
End With
Sheets("Paid").Range("A" & Rows.Count).End(xlUp).Offset(1, 0) = _
Sheets("Form").Range("B3")
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Code: Select all
Sub PasteData()
Application.ScreenUpdating = False
Sheets("Sheet2").Range("A2:J2").Copy
Sheets("Database").Range("A65536").End(xlUp).Offset(1, 0) _
.PasteSpecial xlPasteValues
Sheets("Sheet2").Range("K2:O2").Copy
Sheets("Paid").Range("A65536").End(xlUp).Offset(1, 0) _
.PasteSpecial xlPasteValues
Sheets("Form").Range("C2,F2,H2:J2").ClearContents
With Sheets("Form")
.Range("B2") = .Range("B2") + 1
.Range("B3") = .Range("B3") + 1
End With
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub