Code: Select all
Sub Macro1()
Dim rsAll As Range, rs As Range
Dim rtAll As Range, rt As Range
Dim sh As Worksheet
Application.ScreenUpdating = False
Range("C4:F18").Select
Selection.ClearContents
Range("C4").Select
With Worksheets("สรุปเทอม 1")
Set rsAll = .Range("b4", .Range("b" & .Rows.Count).End(xlUp))
For Each rs In rsAll
For Each sh In Worksheets
'If sh.Name <> "สรุปเทอม 1" Then 'ถูกต้องต้นฉบับ
'If sh.Name <> "สรุปเทอม 1,ต.ค.2,พ.ย.,ธ.ค.,ม.ค.,ก.พ.,มี.ค.,สรุปเทอม 2,สรุปทั้งปี" Then 'ไม่ผ่าน
'If sh.Name <> Worksheets.Count Then 'ถูกต้องต้นฉบับ 'ไม่ผ่าน
If sh.Name <> Sheets(Array("สรุปเทอม 1", "ต.ค.2", "พ.ย.", "ธ.ค.", "ม.ค.", "ก.พ.", "มี.ค.", _
"สรุปเทอม 2", "สรุปทั้งปี")) Then
Sheets("สรุปเทอม 1").Activate
Set rtAll = sh.Range("b4", sh.Range("b" & sh.Rows.Count).End(xlUp))
For Each rt In rtAll
If rt.Value = rs.Value Then
rs.Offset(0, 1).Value = rs.Offset(0, 1).Value + _
rt.Offset(0, 1).Value
rs.Offset(0, 2).Value = rs.Offset(0, 2).Value + _
rt.Offset(0, 2).Value
rs.Offset(0, 3).Value = rs.Offset(0, 3).Value + _
rt.Offset(0, 3).Value
rs.Offset(0, 4).Value = rs.Offset(0, 4).Value + _
rt.Offset(0, 4).Value
End If
Next rt
End If
Next sh
Next rs
End With
Application.ScreenUpdating = True
End Sub
ผมหาวิธีทำยังไม่ผ่านครับ รบกวนอาจารย์ชี้แนะเพิ่มเติมครับ