Page 1 of 1
ต้องการรวมข้อมูลจากหลาย Sheet มาไว้ที่ Master Sheet
Posted: Mon Mar 23, 2020 3:38 pm
by kittiwatw

สวัสดีค่ะ
อยากจะลอง Improve งาน คือเมื่อกดปุ่ม
"Load Audit Result" ที่ Sheet
"Audit Report" จะนำข้อมูลการ Audit ที่อยู่ใน sheet AU-01, AU-02, ..... จนถึง AU-(สุดท้าย) มาเรียงต่อกันที่ Sheet
"Audit Report" แค่เฉพาะข้อมูลการ Audit เท่านั้น ข้อมูล Project Information ไม่ต้องนำมาใส่
ปัญหาที่พบคือ
1. ไม่รู้จะเริ่มเขียน Code ในรูปแบบไหนค่ะ ลอง copy VBA จากใน Internet เพื่อจะเอา Adapt ก็ Aply ไม่ได้
2. ในการใช้งานจริงการ Audit ในแต่ละ Project จำนวน Sheet AU-... จะมีไม่เท่ากัน เพราะฉะนั้นถ้าเราต้องเขียน code ให้อยู่ในรูปแบบที่จะรองรับ AU-.... กี่ sheet ก็ได้ ทำได้อย่างไรคะ
รบกวนด้วยนะคะ
ขอบคุณมากค่ะ _/\_
Re: ต้องการรวมข้อมูลจากหลาย Sheet มาไว้ที่ Master Sheet
Posted: Mon Mar 23, 2020 5:50 pm
by snasui

ลองยกตัวอย่างคำตอบที่ต้องการมาสักสองสามบรรทัดแล้วอธิบายว่านำข้อมูลนั้นมาจากไหน ด้วยเงื่อนไขใด
สำหรับการหาเฉพาชีตใด ๆ สามารถใช้การ Loop เพื่อเช็คชื่อชีตนั้น ๆ ได้ ไม่จำเป็นต้องมีชีตเท่ากันทุกครั้งที่ทำงานนี้ครับ
Re: ต้องการรวมข้อมูลจากหลาย Sheet มาไว้ที่ Master Sheet
Posted: Mon Mar 23, 2020 7:43 pm
by kittiwatw
ขออธิบายด้วยภาพแทนนะคะ จากไฟล์ที่ได้แนบไปให้ก่อนหน้านี้
ใน Sheet
"Audit Report" เมื่อกดปุ่ม
"Load Audit Result" ต้องการดึงข้อมูลที่อยู่ใน Sheet
AU-01 ตั้งแต่ Row ที่ 19 จนถึงบรรทัดสุดท้าย และทำแบบนี้ไปทุกๆ Sheet จนถึง Sheet
AU-29 เรียงต่อกันลงมาเรื่อยๆค่ะใน Sheet
"Audit Report" ค่ะ

Re: ต้องการรวมข้อมูลจากหลาย Sheet มาไว้ที่ Master Sheet
Posted: Mon Mar 23, 2020 7:44 pm
by snasui

คีย์ค่าลงมาในไฟล์เลยจะได้สะดวกในการทำความเข้าใจ ภาพทีแนบมาตัวอักษรมีขนาดเล็กไม่สะดวกในการดูครับ
Re: ต้องการรวมข้อมูลจากหลาย Sheet มาไว้ที่ Master Sheet
Posted: Tue Mar 24, 2020 8:30 am
by kittiwatw
ขออภัยค่ะ ทั้งนี้ได้แนบไฟล์ ที่ลองทำการ Copy ข้อมูลใน Sheet
AU-01,AU-02 และ
AU03 มาไว้ที่ Sheet
"Audit Report" เรียบร้อยแล้วค่ะ

Re: ต้องการรวมข้อมูลจากหลาย Sheet มาไว้ที่ Master Sheet
Posted: Tue Mar 24, 2020 6:06 pm
by snasui

ตัวอย่าง Code ครับ
สำหรับไฟล์ที่แนบมาไม่สามารถทดสอบได้ คลิกปุ่ม Load Audit Result แล้วเกิด Erorr จึงเขียน Code มาเป็นแนวทาง หากติดปัญหาใดให้ปรับมาเองก่อน แล้วแนบ Code นั้นมาถามกันต่อครับ
Code: Select all
Dim sh As Worksheet, rall As Range, r As Range
For Each sh In Worksheets
If InStr(sh.Name, "AU-") Then
Set rall = sh.Range("b19", sh.Range("b" & sh.Rows.Count).End(xlUp))
For Each r In rall
With Worksheets("Audit Report")
.Range("c" & .Rows.Count).End(xlUp).Offset(1, 0) _
.Resize(1, 16).Value = r.Resize(1, 16).Value
End With
Next r
End If
Next sh
Re: ต้องการรวมข้อมูลจากหลาย Sheet มาไว้ที่ Master Sheet
Posted: Thu Mar 26, 2020 7:27 pm
by kittiwatw
สวัสดีค่ะ อาจารย์

ได้ลองนำเอา code ของอาจารย์มาปรับโดยการเพิ่มให้ copy format มาด้วย ตอนนี้เอกสารใช้งานได้แล้วนะคะ ขอบคุณมากค่ะ
