สอน Excel VBA : การใช้ Excel กรอกข้อมูลใน Word ในคลิ๊กเดียว

Поделиться
HTML-код
  • Опубликовано: 6 окт 2024
  • สาธิตการใช้งาน Excel กรอกข้อมูลใน Word อย่างง่ายโดยใช้ Visual Basic for Application ใน Excel
    ============================================
    แนะนำตัวครับ ผมชื่อ วิภาคย์ นะครับ หวังว่าจะเป็นประโยชน์กับหลายคนนะครับ ทำขึ้นเพราะอยากแชร์ครับ กั๊กไว้แล้วคันปาก 5555
    ขอบคุณที่กด Like และ ติดตามนะครับ
    ============================================
    Program : Microsoft Office 2019 or Office365
    ============================================
    Sub Test()
    Dim Paragraphe As Object, WordApp As Object, WordDoc As Object
    StrFile = ThisWorkbook.Path & "\template.docx"
    Set WordApp = CreateObject("Word.Application")
    WordApp.Visible = True
    Set WordDoc = WordApp.Documents.Open(StrFile)
    WordDoc.SelectContentControlsByTag("1").Item(1).Range.Text = Range("B1")
    WordDoc.SelectContentControlsByTag("2").Item(1).Range.Text = Range("B2")
    WordDoc.SelectContentControlsByTag("3").Item(1).Range.Text = Range("B3")
    End Sub
    ============================================

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

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

    ขอบพระคุณมากครับ ตามหาอะไรแบบนี้มานาน ขอบคุณมากจริงๆ ครับ อยากเรียนด้วยเลยครับผม😃

  • @saka25354
    @saka25354 2 года назад

    ขอบคุณมากนะคับ กำลังเรียน vba พอดีเลย

  • @NpRujisatian
    @NpRujisatian 10 месяцев назад +1

    ถ้าต้องการคีย์ข้อมูล Excel เดียว เพื่อใส่ช่องใน Word หลาย ๆ ไฟล์ ทำได้ไหมครับ ขอคำแนะนำด้วยครับ ขอบคุณครับ

  • @tutorgun7850
    @tutorgun7850 3 года назад

    ขอบคุณมากเลยนะคะ เป็นประโยชน์มากๆค่ะ

  • @chutikarnthipphet6488
    @chutikarnthipphet6488 3 года назад

    ขอบคุณมากๆเลยค่ะพี่

  • @saksittoyan9779
    @saksittoyan9779 2 года назад +1

    ขอสอบถามครับช่อที่สีเหลืองที่ให้กรอก ถ้าหากจะเขียนเป็นสูตร vlookup เเทนการกรอกข้อมูลจะได้ไหมครับ

  • @arausplata6271
    @arausplata6271 3 года назад +1

    ขอบคุณครับ เป็นประโยชน์มากเลยครับ ขออนุญาตสอบถามเพิ่มเติม กรณีพิมพ์ข้อมูลในคอลัมน์ถัดไปๆ แล้วอยากให้ออกมาเป็นไฟล์ word หลายชุดพร้อมกัน สามารถทำได้ไหมครับ

    • @wipakxxx
      @wipakxxx  3 года назад +1

      สามารถทำได้ครับผม

    • @arausplata6271
      @arausplata6271 3 года назад

      @@wipakxxx พอจะแนะนำวิธีการ หรือคำสั่งเป็นตัวอย่างได้ไหมครับ

    • @wipakxxx
      @wipakxxx  3 года назад +1

      @@arausplata6271 ขอข้อมูลเพิ่มเติมได้ไหมครับ ว่าอยากให้การทำงานเป็นอย่างไร เช่น มีฐานข้อมูลค่าน้ำ-ไฟ ของผู้พักอาศัย แล้วอยากทำบิลค่าน้ำค่าไฟในแต่ละเดือนให้ออกมาพร้อมกันตามจำนวนผู้พักอาศัยเป็นไฟล์ Word อย่างนี้เป็นต้น เพื่อที่ผมจะได้แนะนำเบื้องต้นได้ตรงประเด็นกว่าครับ

  • @mukdaparu66
    @mukdaparu66 2 года назад

    ส่งออกเฉพาะข้อความเเบบนี้ออกเป็น pdf เพื่อปรินท์ได้ไหมคะ เเล้วก็เพิ่มปุ่ม cleardata นำไปประยุกตฺ์ใช้ได้หลากหลายเลยค่ะ

  • @บอสเตอร์บอส
    @บอสเตอร์บอส 8 месяцев назад

    ถ้าต้องการคีย์ข้อมูลจาก Excel สี่ซีตซึ่งในช่องเดียวกัน เช่น ซีตแรก B1 C1 D1 ซีตสอง B1 C1 D1 ซีตสาม B1 C1 D1 ซีตสี่ B1 C1 D1เพื่อใส่ช่องใน Word เดียวแบบต่อกันไปเลื่อยๆ ด้านล่าง

  • @FINANCETSC-w8g
    @FINANCETSC-w8g Год назад

    กรณีเป็นตาราง สามารถทำได้หรือไม่คะ ถ้าได้ต้องทำอย่างไร รบกวนด้วยค่ะ

  • @micc5828
    @micc5828 2 года назад

    จะเพิ่มบันทึกข้อมูลใน Excel ด้วยทำได้ไหมครับ

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

    ถ้ามีแบบฟอร์ม word มากกว่า 1 ฟอร์ม ที่ต้องการดึงข้อมูลจาก excel ในคราวเดียวกัน สามารถเพิ่มชื่อไฟล์ .docx เข้าไปได้เลยมั้ยครับ

  • @ธนาพรทองเชื้อ
    @ธนาพรทองเชื้อ 7 месяцев назад

    Word 2007 ทำได้ไหมคะ

  • @yingnutchaya
    @yingnutchaya 2 года назад

    ขออนุญาตสอบถามค่ะ ถ้าจะเขียนคำสั่งเพิ่มให้มัน Save As ไฟล์ Word ตามชื่อ Range ใน Excel และปิดไฟล์ Word ลง เนื่องจากเขียนคำสั่งให้มันวนลูป จึงต้องปิด word ลงก่อนค่ะ พอมีคำแนะนำไหมคะ ขอบคุณค่ะ

    • @wipakxxx
      @wipakxxx  2 года назад +1

      ตรง NewName ลองปรับให้เป็น Sheets("ชื่อชีท").Range("range ที่ต้องการ").Value ดูครับ
      ---------------------------------------------------------(code Excel vba)
      WordDoc.SaveAs2 Filename:=ThisWorkbook.Path & "\" & NewName, _
      FileFormat:=wdFormatXMLDocument, LockComments:=False, Password:="", _
      AddToRecentFiles:=True, WritePassword:="", ReadOnlyRecommended:=False, _
      EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, SaveFormsData _
      :=False, SaveAsAOCELetter:=False, CompatibilityMode:=15
      WordApp.ActiveDocument.Close

    • @yingnutchaya
      @yingnutchaya 2 года назад

      @@wipakxxx ขอบคุณมากๆนะคะ

    • @yingnutchaya
      @yingnutchaya 2 года назад

      @@wipakxxx ขออนุญาตสอบถามเพิ่มเติมค่ะ ถ้าเราจะ save as word เป็น pdf ให้เปลี่ยน code ตรงไหนไหมคะ ขอบคุณค่ะ

  • @srwstp4438
    @srwstp4438 3 года назад +1

    รบกวนสอบถามครับ ผม Run Code แล้ว มันไม่ไสามารถเปิดไฟล์ Word ขึ้นมาได้ครับ มันแจ้งว่าไม่พบไฟล์ Word ใน Drive C: ซึ่งผม Save ไว้บน Desktop ไม่ทราบว่าต้องมีการแก้ไข Code ต้องส่วนไหนเหรอครับ? หรือต้อง Save ไฟล์ Word เป็น .dotx แทนเหรอครับ ขอบคุณครับ

    • @wipakxxx
      @wipakxxx  3 года назад +1

      แก้ตรงนี้ครับ
      StrFile = ThisWorkbook.Path & "\template.docx"
      เป็น (ยกตัวอย่างนะครับ ให้ใช้ตำแหน่งที่ตั้งไฟล์ของคุณเอง ในที่นี้เป็นการยกตัวอย่างเฉยๆ)
      StrFile = "C:\Users\M.User\Desktop\template.docx"
      การรทำแบบเป็นการระบุตำแหน่งของไฟล์ word โดยตรงเลยครับ
      ปล.จะเห็นว่าไฟล์ word ของผมนั้นชื่อไฟล์ว่า template และ นามสกุลไฟล์ คือ .docx โดยถ้าไฟล์ที่เราจะทำการเปิดนั้นชื่อและนามสกุลไฟล์ไม่ตรงกับที่เราตั้งค่าไว้ ก็จะไม่สามารถเปิดได้ครับ
      ปล. 2 หากไม่อยากยุ่งยาก แนะนำให้นำไฟล์ word ของท่านมาไว้ใน Folder เดียวกันกับไฟล์ Excel แล้วตั้งชื่อไฟล์ว่า template ครับ

    • @srwstp4438
      @srwstp4438 3 года назад

      @@wipakxxx ขอบคุณมากครับ สอบถามเพิ่มเติมครับ ถ้าเป็นไฟล์ Word Template (.dotx) จะสามารถใช้กับ Code นี้ได้ไหมครับ

    • @wipakxxx
      @wipakxxx  3 года назад

      คิดว่าได้นะครับ ทั้งนี้ผมยังไม่เคยทดลองเหมือนกัน

    • @siriwasssatroopras6413
      @siriwasssatroopras6413 3 года назад

      @@wipakxxx แอดครับ ถ้าจะดึงข้อมูลจาก Sheet ถัดๆไปด้วย เช่น Sheet1 ถึง Sheet 4 งี้ นี่ต้องใส่คำสั่งอะไรเหรอครับ?

    • @wipakxxx
      @wipakxxx  3 года назад +1

      @@siriwasssatroopras6413
      ยกตัวอย่างครับ
      ของเดิม
      WordDoc.SelectContentControlsByTag("1").Item(1).Range.Text = Range("B1")
      WordDoc.SelectContentControlsByTag("2").Item(1).Range.Text = Range("B2")
      WordDoc.SelectContentControlsByTag("3").Item(1).Range.Text = Range("B3")
      ของใหม่ที่ปรับ
      WordDoc.SelectContentControlsByTag("1").Item(1).Range.Text = Sheets("Sheet1").Range("B1")
      WordDoc.SelectContentControlsByTag("2").Item(1).Range.Text = Sheets("Sheet2").Range("B2")
      WordDoc.SelectContentControlsByTag("3").Item(1).Range.Text = Sheets("Sheet3").Range("B3")

  • @สี่สูบเรียง
    @สี่สูบเรียง 3 года назад

    ขออนุญาตสอบถามครับ ถ้าเป็นรูปภาพต้องทำอย่างไรครับ?

    • @wipakxxx
      @wipakxxx  3 года назад +1

      ruclips.net/video/utMgQQ7qEjE/видео.html
      ลองดูตามอันนี้ครับ

    • @สี่สูบเรียง
      @สี่สูบเรียง 3 года назад

      @@wipakxxx ขอบคุณมากครับอาจารย์ ผมหมายถึง ใช้เทคนิคเดียวกันนี้ เปลี่ยนจากการกรอกข้อความใน excel เพื่อที่จะ export ไป word เป็นการแทรกรูปภาพในเซลล์ของ excel เพื่อที่จะ export ไป word ต้องทำอย่างไรครับ? รบกวนอาจารย์แนะนำผมหน่อยครับ

    • @wipakxxx
      @wipakxxx  3 года назад +1

      อ่ออ ถ้าแบบนี้ต้องไปเขียนใน word จะง่ายกว่าครับ ใช้ตัวคุมฟอร์มในเวิร์ดกับเขียนโค้ดเพิ่มให้ดึงรูปเวลา excel สั่งเปิด word รอติดตามคลิปได้เลยครับผม

    • @สี่สูบเรียง
      @สี่สูบเรียง 3 года назад

      @@wipakxxx ขอบคุณอาจารย์มากๆครับ รอติดตามผลงานอยู่เสมอ

  • @โรงเรียนชุมชนชวนวิทยา-ฌ2ย

    ต้องการให้ข้อความใน Excel ไปแสดง ใน Word หลายๆที่ทำอย่างไรครับ

    • @wipakxxx
      @wipakxxx  2 года назад

      ลองประยุกต์จากโค้ดดูได้ครับ

    • @โรงเรียนชุมชนชวนวิทยา-ฌ2ย
      @โรงเรียนชุมชนชวนวิทยา-ฌ2ย 2 года назад

      @@wipakxxx ลองทำกล่องรับข้อความรับข้อมูลจาก Excel มาใหม่แล้ว ตั้งแท็กให้เป็นเลขเดียวกันก็ไม่ได้ครับ มันโชว์ข้อความแค่กล่องเดียว

    • @wipakxxx
      @wipakxxx  2 года назад

      @@โรงเรียนชุมชนชวนวิทยา-ฌ2ย ลองตั้งให้ชื่อ tag ไม่ซ้ำกันดูครับ ถ้ายังไม่ได้ยังไง ติดต่อหลังไมค์ได้ครับ

    • @mukdaparu66
      @mukdaparu66 2 года назад

      @@โรงเรียนชุมชนชวนวิทยา-ฌ2ย ทดลองทำเเล้วทำได้อยู่นะคะ

  • @SIGMASeeD
    @SIGMASeeD 2 года назад

    ขอขอบคุณนะครับมีประโยชน์มาก
    ขอสอบถามเพิ่มครับ
    ส่วนตรงนี้ \template.docx ซึ่งผมเปลี่ยน
    เป็นชื่อไฟล์เพื่อให้โค้ดหาไฟล์เจอ
    แล้วก็สำเร็จเรียบร้อยดีครับ
    แต่ผมอยากสอบถามเพิ่มเติมว่า
    -มันสามารถเปลี่ยนใส่เป็นภาษาไทยได้ไหม
    ผมลองเบื้องต้นแล้วไม่ได้
    -มีวิธีอ้างอิงอื่นไหมครับ

    • @wipakxxx
      @wipakxxx  2 года назад +1

      เปลี่ยนได้ครับ แต่ต้องไปตั้ง region & country ของวินโดว์เราให้เป็น thailand ก่อน และต้องไปตั้งค่าภาษาใน VBA ให้เป็นภาษาไทยด้วยครับ

    • @SIGMASeeD
      @SIGMASeeD 2 года назад

      ขอบคุณมากนะครับ ขอบคุณจริงๆ