สวัสดีครับอาจารย์
ผมลองเขียน Code ในส่วนที่ต้องการ Copy แต่ยังไม่สามารถ Run ต่อได้ ขึ้น Error "9"
รบกวนอาจารย์ช่วยให้คำแนะนำด้วยครับในส่วนของ
"Copy ยอดผลิตทั้งหมดที่แถว TOTAL INPUT QTY (VISUAL) แต่ Cell ข้อมูลของแต่ละ Sheet ไม่ตรงกัน"
ข้อมูลในแถว TOTAL INPUT QTY (VISUAL) สีเหลือง
ของไฟล์ ME1586 & ME17814 ที่ Sheet ME1586 จะอยู่คนละแถวกับ Sheet ME17814-1, Sheet ME17814-2
จากไฟล์ ME1586 & ME17814
- จาก Sheet ME1586 ข้อมูลที่ G33 มาใส่ที่ไฟล์ Format Graph NG ที่ Sheet ME1586 ที่ Cell D10
- จาก Sheet ME17814-1 ข้อมูลที่ G36 มาใส่ที่ไฟล์ Format Graph NG ที่ Sheet ME1586 ที่ Cell D10
- และจาก Sheet ME17814-2 ข้อมูลที่ G36 มาใส่ที่ไฟล์ Format Graph NG ที่ Sheet ME1586 ที่ Cell D10
Code: Select all
Sub Test01()
Dim sh As Worksheet
Dim rng As Range
'เขียนเพิ่มเข้ามาใหม่
Dim rall As Range, shStr As String
Dim rs As Range, rt As Range
Dim i As Integer, j As Integer
'Copy ข้อมูลที่มีระยะไม่เท่ากันแต่ละ Sheet โดยอ้างอิง Column G เป็นหลัก
For Each sh In Workbooks("ME1586 & ME17814.xlsx").Worksheets
Set rng = sh.Range("g4", sh.Range("g4").End(xlDown))
Set rng = Union(rng, rng.Offset(0, -4))
rng.Copy
Workbooks("Format Graph NG.xlsx").Worksheets(sh.Name) _
.Range("b15").PasteSpecial xlPasteValues
Next sh
'Copy ยอดผลิตทั้งหมดที่แถว TOTAL INPUT QTY (VISUAL) แต่ Cell ข้อมูลของแต่ละ Sheet ไม่ตรงกัน
With Workbooks("ME1586 & ME17814.xlsx").Worksheets("ME17814-1")
Set rall = .Range("B4", .Range("B" & .Rows.Count).End(xlUp))
For i = 1 To rall.Rows.Count
shStr = rall(i).Value = "TOTAL INPUT QTY (VISUAL)"
shStr = Replace(shStr, "-", "")
Set rt = Workbooks("Format Graph NG.xlsx").Worksheets(shStr).Range("D10")
For j = 5 To 5
rt.Resize(3).Value = _
rall(i).Offset(0, j).Resize(3).Value
Set rt = rt.Offset(0, 1)
Next j
Next i
End With
End Sub