เทคนิคดึงข้อมูลจากหลายไฟล์มารวมในชีทเดียวเสร็จใน_5_นาที / Consolidate data from many sheets

Поделиться
HTML-код
  • Опубликовано: 9 янв 2025

Комментарии • 23

  • @MrTTfarm
    @MrTTfarm Год назад +1

    ดีมากเลยครับ สอนเข้าใจง่าย ลดเวลาทำงานได้เยอะเลยครับ ขอบคุณมากเลยครับ

    • @Excelchannel
      @Excelchannel  Год назад

      ขอบคุณมากครับ สำหรับ comment ดี ๆ เป็นกำลังใจที่สุดยอด ส่งท้ายปี2023 เลยครับ 😀

  • @พรเทพสระทองพรม
    @พรเทพสระทองพรม 9 месяцев назад

    ขอบคุณครับอาจารย์

  • @user-fm4fi6zr1w
    @user-fm4fi6zr1w 11 месяцев назад +1

    ถ้าอยากให้ pastespecial เป็นคำสั่งก้อปปี้ข้อมูลที่มีเท่านั้นไม่เอาช่องที่ว่างมา ทำได้ไหมคะ เพราะตอนนี้ สมมติว่าไฟล์นึงมี500บรรทัดเหมือนกันหมดทุกไฟล์ แต่ว่าแต่ละไฟล์จะมีข้อมุลที่ช่องต่างกัน บางไฟล์อยุ่บรรทัด 100 บางไฟล์บรรทัด 300 งี้ค่ะ บรรทัดอื่นๆจะว่าง พอใช้คำสั่งตามตัวอย่างกลายเป็นว่ามันเอาทั้ง 500บรรทัดมาต่อกันเรื่อยๆซึ่งมันยาวมากๆเลยค่ะ อยากได้แค่ว่า ก้อปเอามาแต่บรรทัดที่มีข้อมูลแล้วเอามาต่อๆบรรทัดไปเรื่อยๆค่ะ พอเข้าใจที่จะสื่อไหมคะ รบกวนด้วยค่ะ

    • @Excelchannel
      @Excelchannel  11 месяцев назад +1

      5555
      ถ้างานเป็น template แล้วให้เติมข้อมูลเข้ามาเรื่อย ๆ ใน 500 บรรทัดเดิม ๆ แบบนี้ เราไม่ต้องหาบรรทัดสุดท้ายเพื่อเอาข้อมูลไปต่อเลยครับ เราสามารถสั่ง paste special ลงจุดเดิมได้เลย แต่ให้กำหนด parameter การ skipBlank ให้เป็น true ก็จะได้ข้อมูลอย่างที่ต้องการครับ

  • @maysameow.24
    @maysameow.24 Год назад +1

    ขอบคุณค่ะ

    • @Excelchannel
      @Excelchannel  Год назад +1

      คุณ ปุ้มเริ่มใช้งาน VBA แล้ว เยี่ยมเลยครับ ลุยเลย ได้ประโยชน์แน่่นอน ครับ

  • @someoneonearth2605
    @someoneonearth2605 2 месяца назад +2

    ถ้าอยากดึงเเค่คอลัมเดียวจากร้อยๆไฟล์มารวมในชีทเดียว ใช้เบสโค้ดนี้ได้มั้ยคะ เปลี่ยนจากrowเป็นcolอะค่ะ

    • @Excelchannel
      @Excelchannel  2 месяца назад

      ใช่ครับ สามารถใช้โครงสร้างการ loop แบบนี้ แต่กำหนดตำแหน่งที่จะก้อปปี้ และตำแหน่งที่จะวางใหม่ก็จะได้งานเลยครับ 👍😀

  • @HealthcareRUS
    @HealthcareRUS 23 дня назад +1

    สอบถามครับ ถ้า file ของผมมี Sheet หลายชื่อ แต่ต้องการกำหนด เพียงชีทเดียวที่มีชื่อเฉพาะ ต้องทำเขียน Code ยังไงครับ

    • @Excelchannel
      @Excelchannel  22 дня назад

      เราจะเอา if statement ตรวจสอบชื่อชีทก่อนดึงข้อมูลครับ ถ้าชื่อชีทตรงกับชีทที่เราต้องการจึงจะ copy ไป ถ้าไม่ตรงก็ข้ามไป ครับ

  • @TU-fz5xb
    @TU-fz5xb Год назад +1

    ขอบคุณความรู้ดีๆที่อาจารย์มอบให้มากค่ะ❤
    หนูขอสอบถามเพิ่มค่ะ
    วิธีนี้ใช้ได้กับ
    บางไฟลอาจมีคอลัมน์น้อย-มากกว่า ใช้สูตรนี้ได้ไหมคะ

    • @Excelchannel
      @Excelchannel  Год назад

      ตอบว่าทั้งได้ และไม่ได้ครับ
      ถ้าทำเพียงตามคลิ้ปจะได้ข้อมูลที่ไม่ถูกต้อง
      ถ้าอยากให้ถูกต้องต้องก็ต้องเขียนโค้ดเพิ่มเพื่อ match หาคอลัมน์ แล้วจึงเอาไปประกอบเป็น range เพื่อ copy ครับ

  • @freedomgoodlife
    @freedomgoodlife 2 месяца назад

    ถ้าต้องการรวมข้อมูลหลาย Sheet ใน 1 ไฟล์ ต้องแก้ไขยังไงบ้างนะคะ

  • @sgotss.9562
    @sgotss.9562 Год назад +1

    ทำไมของผม พอเสร็จ มันรันแบบขึ้น Done ทีละไฟล์ที่ดึงมาเหรอครับ

    • @Excelchannel
      @Excelchannel  Год назад

      ขอดูโค้ดที่เขียนหน่อยครับ
      ถ้าให้เดา ผมว่าน่าจะวาง msgbox ผิดตำแหน่งครับ

  • @ภัคนิษฐ์แตงทอง
    @ภัคนิษฐ์แตงทอง 8 месяцев назад

    สวัสดีค่ะ รบกวนสอบถามเพิ่มเติมค่ะ ถ้าในไฟล์ที่เราดึงมา มีหลายชีท แต่จะเลือกแค่ชีทเดียวในไฟล์นั้นมา ทำอย่างไรคะ

    • @Excelchannel
      @Excelchannel  8 месяцев назад

      เราสามารถกำหนดชีทที่จะเอาข้อมูลไปวางที่ชีทนั้น โดยการกำหนดชื่อชีทตามด้วย จุด เช่น
      Sheets("report").range("A7").PasteSpecial xlPasteValues
      เป็นต้นครับ

  • @oilzombie88888
    @oilzombie88888 7 месяцев назад +1

    อาจารย์ครับ ผม copy path ของ ชีท 1-5 แต่เวลารัน ชีทที่ 3 ไม่มาครับ ผมทำอะไรผิดครับ

    • @Excelchannel
      @Excelchannel  7 месяцев назад +1

      55555
      ถามมาแบบนี้อาจารย์ตอบไม่ได้เลยครับ ต้องเห็นสิ่งที่เขียน ครับ ✌️😀

    • @oilzombie88888
      @oilzombie88888 7 месяцев назад +1

      @@Excelchannel ผมเขียนแบบที่อาจารย์สอนเลยครับ แต่ผมเพิ่งนึกได้ว่า ผมซ่อนคอลัมภ์ทั้งชีทของเดือน 3 ไว้ไม่รู้ว่าเกี่ยวกันไหม ตอนนี้ไม่ได้อยู่หน้างานเลยยังลองไม่ได้ครับ ❤😊

    • @oilzombie88888
      @oilzombie88888 7 месяцев назад

      ⁠อาจารย์ครับ ผมขอถามอีกคำถามนึงนะครับ จากโค้ดนี้ ถ้าผมต้องการให้กอบปี้เฉพาะคอลัมภ์ acdghikpr เท่านั้น จากโค้ดนี้ ต้องปรับเป็นแบบไหนครับ
      Sub consolidate()
      Dim i As Long, mySourceWb As Workbook, mySourceLastRow
      As Long
      For i = 4 To 10
      Set mySourceWb =
      Workbooks.Open(sh_Consolidate.Range("AB" & i).Value)
      mySourceLastRow = mySourceWb.Sheets(1).Range("A" &
      Rows.Count).End(xlUp).Row
      mySourceWb.Sheets(1).Range("A4:Z" &
      mySourceLastRow).Copy
      sh_Consolidate.Range("A" &
      Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial xlPasteAll
      Application.CutCopyMode = False
      mySourceWb.Close
      Next i
      MsgBox "Done"
      End Sub
      🙏😊😁

    • @Excelchannel
      @Excelchannel  7 месяцев назад

      @@oilzombie88888
      ลองแล้วได้ผลอย่างไร บอกมาหน่อยนะครับ