snasui.com ยินดีต้อนรับ ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
Sub test0()
Dim sb As Workbook, rs As Range
Dim tb As Workbook
Dim sh As Worksheet
Set sb = Workbooks("Data.xlsx")
Set tb = ThisWorkbook
For Each sh In sb.Worksheets
Set rs = sh.Range("b3", sh.Range("b" & sh.Rows.Count).End(xlUp))
With tb.Worksheets("SumAllData")
With .Range("b" & .Rows.Count).End(xlUp).Offset(1, 0)
.Resize(rs.Rows.Count, 5).Value = rs.Resize(, 5).Value
End With
End With
Next sh
End Sub
Sub test2()
Dim sb As Workbook, rs As Range
Dim tb As Workbook
Dim sh As Worksheet
Set sb = Workbooks("Data2.xlsx")
Set tb = ThisWorkbook
For Each sh In sb.Worksheets
Set rs = sh.Range("b3", sh.Range("b" & sh.Rows.Count).End(xlUp))
With tb.Worksheets("Sum_" & Format(Range("D1"), "mmyy"))
With .Range("b" & .Rows.Count).End(xlUp).Offset(1, 0)
.Resize(rs.Rows.Count, 5).Value = rs.Resize(, 5).Value
End With
End With
Next sh
End Sub
You do not have the required permissions to view the files attached to this post.
Sub Updates()
Dim sb As Workbook, rs As Range
Dim tb As Workbook
Dim sh As Worksheet
Set sb = Workbooks("Data2.xlsx")
Set tb = ThisWorkbook
For Each sh In sb.Worksheets
Set rs = sh.Range("b3", sh.Range("b" & sh.Rows.Count).End(xlUp))
With tb.Worksheets("Sum_" & Format(Range("D1"), "mmyy"))
With .Range("b" & .Rows.Count).End(xlUp).Offset(1, 0)
.Resize(rs.Rows.Count, 5).Value = rs.Resize(, 5).Value
End With
End With
Next sh
End Sub
You do not have the required permissions to view the files attached to this post.
ชอบใช้แบบกดปุ่มมากกว่าค่ะ เพราะบางครั้ง ไปคลิกที่เซลล์อื่นมันจะขึ้น pop up msgbox ให้เอง คือความจริงจะมีไฟล์ส่วนตัวของตัวเองที่รัน marco เฉพาะทุกไฟล์งาน ส่วนไฟล์งานจะไม่ save run marco เพราะบางครั้ง error โค้ดมาร์โคหายบ่อยๆ ค่ะ จึงต้องสร้างไฟล์งานของตัวเองต่างหากไม่อยากกระทบไฟล์งานจรืงค่ะ
'Other code
tb.Activate
With tb.Worksheets("Sum_" & Format(Range("D1"), "mmyy"))
With .Range("b" & .Rows.Count).End(xlUp).Offset(1, 0)
.Resize(rs.Rows.Count, 5).Value = rs.Resize(, 5).Value
End With
End With
'Other code
Sub Updates()
Dim sb As Workbook, rs As Range
Dim tb As Workbook
Dim sh As Worksheet
Set sb = Workbooks("Data2.xlsx")
Set tb = Workbooks("SumData_bymonth.xlsx")
For Each sh In sb.Worksheets
Set rs = sh.Range("b3", sh.Range("b" & sh.Rows.Count).End(xlUp))
tb.Activate
With tb.Worksheets("Sum_" & Format(Range("D1"), "mmyy"))
With .Range("b" & .Rows.Count).End(xlUp).Offset(1, 0)
.Resize(rs.Rows.Count, 5).Value = rs.Resize(, 5).Value
End With
End With
Next sh
End Sub
You do not have the required permissions to view the files attached to this post.