Page 1 of 1
Macro : รบกวนด้วยครับ รวมข้อมูลใน sheet "1" และ "2" ( อาจมีมากกว่า 2 Sheet) เข้าด้วยกัน
Posted: Fri Sep 13, 2019 9:54 am
by wisitsakbenz
รบกวนสอบถามครับ
อยากรวมข้อมูลใน sheet "1" และ "2" ( อาจมีมากกว่า 2 Sheet) เข้าด้วยกัน โดยไม่นำในส่วนของ Operation booking, Waiting Case, New patient, Total Case ในแต่ละ Sheet มา แต่จะมารวมทีเดียวใน Sheet "Data"
หมายเหตุ : ใน Sheet "Data" insert row ตามข้อมูลที่นำมารวมกันในแต่ละ sheet
ขอบคุณมากครับ
Re: Macro : รบกวนด้วยครับ รวมข้อมูลใน sheet "1" และ "2" ( อาจมีมากกว่า 2 Sheet) เข้าด้วยกัน
Posted: Fri Sep 13, 2019 5:15 pm
by puriwutpokin
ลองปรับเป็น
Code: Select all
Sub CollectData()
Dim ws As Worksheet
Dim rTarget As Range
Dim r, rAll, Lrw As Integer
Dim Vr, v As Variant
Application.ScreenUpdating = False
For Each ws In Worksheets
If ws.Name <> "Data" Then
With Sheets("Data")
Set rTarget = .Range("a" & .Rows.Count).End(xlUp).Offset(1, 0)
Lrw = .Cells(.Rows.Count, "f").End(xlUp).Row
End With
rAll = ws.Range("k" & ws.Rows.Count).End(xlUp).Row
Vr = Array("Booking", "Waiting", "Mail / New patient")
For r = 2 To rAll
For Each v In Vr
If ws.Cells(r, 11) = v Then
ws.Cells(r, 11).Offset(, -10).Resize(, 18).Copy
Sheets("Data").Cells(Lrw, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
End If
Next v
Next r
End If
Next ws
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Re: Macro : รบกวนด้วยครับ รวมข้อมูลใน sheet "1" และ "2" ( อาจมีมากกว่า 2 Sheet) เข้าด้วยกัน
Posted: Fri Sep 13, 2019 9:16 pm
by wisitsakbenz
ข้อมูลมาไม่ครบครับอาจารย์ รบกวนอีกครั้งนะครับ ขอบคุณมากครับ
Re: Macro : รบกวนด้วยครับ รวมข้อมูลใน sheet "1" และ "2" ( อาจมีมากกว่า 2 Sheet) เข้าด้วยกัน
Posted: Fri Sep 13, 2019 9:40 pm
by puriwutpokin
แนบไฟล์ล่าสุดพร้อมโค้ด และตรงส่วนไหนที่ขาดหายไปมาดูกันครับ
Re: Macro : รบกวนด้วยครับ รวมข้อมูลใน sheet "1" และ "2" ( อาจมีมากกว่า 2 Sheet) เข้าด้วยกัน
Posted: Sat Sep 14, 2019 9:55 am
by wisitsakbenz
เรียน อาจารย์ ครับ
ผมลอง run แล้ว
ข้อมูล Sheet"A" มี 19 row
ข้อมูล Sheet "B" มี 9 row
Run Macro รวมกันได้แค่ 11 Row ครับ
รบกวนอาจารย์ด้วยครับ ขอบคุณครับ
Re: Macro : รบกวนด้วยครับ รวมข้อมูลใน sheet "1" และ "2" ( อาจมีมากกว่า 2 Sheet) เข้าด้วยกัน
Posted: Sat Sep 14, 2019 10:07 am
by puriwutpokin
wisitsakbenz wrote: Sat Sep 14, 2019 9:55 am
เรียน อาจารย์ ครับ
ผมลอง run แล้ว
ข้อมูล Sheet"A" มี 19 row
ข้อมูล Sheet "B" มี 9 row
Run Macro รวมกันได้แค่ 11 Row ครับ
รบกวนอาจารย์ด้วยครับ ขอบคุณครับ
ก็ตามเงื่อนไขที่ต้องการ ให้เอาเฉพาะคำที่ต้องการมาไม่ใช่หรือครับ คำที่ต้องการมีแค่ 10 บรรทัดเอง
ลองดูที่กระทู้ที่1 ตามที่แจ้งไว้ เอาเฉพาะบรรทัดที่มีคำว่า "Booking", "Waiting", "Mail / New patient"
Re: Macro : รบกวนด้วยครับ รวมข้อมูลใน sheet "1" และ "2" ( อาจมีมากกว่า 2 Sheet) เข้าด้วยกัน
Posted: Sat Sep 14, 2019 11:08 am
by wisitsakbenz
คำถามอาจจะไม่เคลียร์ครับ ยังไงขอโทษด้วยครับอาจารย์
คือ ผมอยากให้รวมข้อมูลทั้งหมดใน Sheet "1" ( Row ที่ 2-21 ) และ "2" (Row ที่ 2-21) ไปไว้ใน Sheet "Data" โดยไม่นำในส่วนของ Sheet "1" Row ที่ 23-26, Sheet "2" Row 23-26 มาด้วย
หลังจากที่รวมแล้ว อยากให้ insert Row ที่ 23-26 แสดงผลรวมในส่วนท้ายของ Sheet "Data" ครับ
ขอบคุณครับ
Re: Macro : รบกวนด้วยครับ รวมข้อมูลใน sheet "1" และ "2" ( อาจมีมากกว่า 2 Sheet) เข้าด้วยกัน
Posted: Sat Sep 14, 2019 12:08 pm
by puriwutpokin
แทรกบรรทัดที่ ชีท Data ไว้ล่วงหน้าเผื่อข้อมูลที่จะมาว่างครับ แล้วปรับโค้ดเป็น
Code: Select all
Sub CollectData()
Dim ws As Worksheet
Dim r As Range
Dim rTarget As Range
Application.ScreenUpdating = False
For Each ws In Worksheets
If ws.Name <> "Data" Then
With Sheets("Data")
Set rTarget = .Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
End With
Set r = ws.Range("A2", ws.Range("A" & Rows.Count).End(xlUp))
r.SpecialCells(xlCellTypeConstants).EntireRow.Copy
rTarget.PasteSpecial xlPasteValues
End If
Next ws
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Re: Macro : รบกวนด้วยครับ รวมข้อมูลใน sheet "1" และ "2" ( อาจมีมากกว่า 2 Sheet) เข้าด้วยกัน
Posted: Sat Sep 14, 2019 1:15 pm
by wisitsakbenz
สอบถามอาจารย์ครับ
ทางผมไม่สามารคาดเดาได้เลยว่า จะต้องแทรก Row ล่วงหน้าใน Sheet "Data" เท่าไหร่ เพราะ เวลาใช้งานจริง ข้อมูลที่เอามารวมใน Sheet Data จะมีจำนวน Sheet ประมาณ 30 Sheet ครับ
อาจารย์พอมีวิธีที่ สามารถ แทรก Row ที่ 23-26 ให้อัตโนมัติ ใน Sheet "Data" หลังจากรวมข้อมูลทั้งหมดแล้วหรือไม่ครับ
ขอบคุณครับ