snasui.com ยินดีต้อนรับ ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
Sub copyunit()
Dim s As Worksheet
Dim M As Worksheet
Set M = Sheets("Main")
Dim lr As Long
For Each s In Worksheets
s.Range("A1:Y1").Copy
lr = M.Range("B" & Rows.Count).End(xlUp).Row + 1
M.Range("B5" & lr).PasteSpecial xlPasteValues
Next s
'MsgBox ("Completed")
End Sub
You do not have the required permissions to view the files attached to this post.
'Other code
For Each s In Worksheets
If s.Name <> M.Name Then
s.Range("A1:Y1").Copy
lr = M.Range("c" & Rows.Count).End(xlUp).Row + 1
M.Range("B" & lr).PasteSpecial xlPasteValues
End If
Next s
'Other code
'Other code
For Each s In Worksheets
If s.Name <> M.Name Then 'ชื่อไม่ตรงกัน
s.Range("A1:Y1").Copy
lr = M.Range("c" & Rows.Count).End(xlUp).Row + 1 'แถวสุดท้ายที่มีข้อมูล
M.Range("B" & lr).PasteSpecial xlPasteValues
End If
Next s
'Other code
ขออนุญาตครับ ผมได้เพิ่มคอลลัม์ C เข้ามา ทำให้รัน VB แล้วไม่สามารถ copy ข้อมูลจากชีทอื่นมาวางที่ชีท Main ตั้งแต่คอลัมม์ B ลงมาจนครบทุกชีทไม่ได้ รบกวนขอคำแนะด้วยครับ ขอบพระคุณครับ
Sub copy_unit()
Dim s As Worksheet
Dim M As Worksheet
Set M = Sheets("Main")
Dim lr As Long
For Each s In Worksheets
If s.Name <> M.Name Then 'ชื่อไม่ตรงกัน
s.Range("A1:Z1").Copy
lr = M.Range("C34").End(xlUp).Row + 1
M.Range("B" & lr).PasteSpecial xlPasteValues
End If
Next s
'MsgBox ("Completed")
End Sub
You do not have the required permissions to view the files attached to this post.
'Other code
For Each s In Worksheets
If s.Name <> M.Name Then 'ª×èÍäÁèµÃ§¡Ñ¹
s.Range("A1:Z1").Copy
lr = M.Range("C34").End(xlUp).Row + 1
if lr < 5 then lr = 5
M.Range("B" & lr).PasteSpecial Paste:=xlPasteValues
End If
Next s
'Other code
'Other code
For Each s In Worksheets
If s.Name <> M.Name Then 'ª×èÍäÁèµÃ§¡Ñ¹
s.Range("A1:Z1").Copy
lr = M.Range("C34").End(xlUp).Row + 1
if lr < 5 then lr = 5
M.Range("B" & lr).PasteSpecial Paste:=xlPasteValues
End If
Next s
'Other code