Page 1 of 1

ต้องการรวมข้อมูลจากหลาย Sheet มาไว้ที่ Master Sheet

Posted: Mon Mar 23, 2020 3:38 pm
by kittiwatw
:D สวัสดีค่ะ


อยากจะลอง 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
:D ลองยกตัวอย่างคำตอบที่ต้องการมาสักสองสามบรรทัดแล้วอธิบายว่านำข้อมูลนั้นมาจากไหน ด้วยเงื่อนไขใด

สำหรับการหาเฉพาชีตใด ๆ สามารถใช้การ 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" ค่ะ :D

Re: ต้องการรวมข้อมูลจากหลาย Sheet มาไว้ที่ Master Sheet

Posted: Mon Mar 23, 2020 7:44 pm
by snasui
:D คีย์ค่าลงมาในไฟล์เลยจะได้สะดวกในการทำความเข้าใจ ภาพทีแนบมาตัวอักษรมีขนาดเล็กไม่สะดวกในการดูครับ

Re: ต้องการรวมข้อมูลจากหลาย Sheet มาไว้ที่ Master Sheet

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

Re: ต้องการรวมข้อมูลจากหลาย Sheet มาไว้ที่ Master Sheet

Posted: Tue Mar 24, 2020 6:06 pm
by snasui
:D ตัวอย่าง 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
สวัสดีค่ะ อาจารย์ :x ได้ลองนำเอา code ของอาจารย์มาปรับโดยการเพิ่มให้ copy format มาด้วย ตอนนี้เอกสารใช้งานได้แล้วนะคะ ขอบคุณมากค่ะ :thup: