ขอคำแนะนำ ต้องการรัน VBA ที่อยู่ใน workbook อื่น

เปลี่ยนคำถามให้กระชับขึ้นครับ
ขอคำแนะนำ ต้องการรัน VBA ที่อยู่ใน workbook อื่น
สมมติ ไฟล์ชื่อ A.xlsm และ B.xlsm ตัวมาโคร ชื่อ C อยู่ใน B.xlsm
นำ code vba มาใส่ไว้ใน A.xlsm

เมื่อเปิดไฟล์ไว้ทั้งคู่ จะรันไม่ได้
แต่ถ้าปิดไฟล์ B.xlsm ก่อนจะรันได้ แต่ว่านำไปใช้ต่อไม่ได้เนื่องจากไฟล์ B ได้รับข้อมูลมาสำหรับประมวลผลแล้ว

โดย code ที่ใช้ได้มาจาก chat gpt 

Sub RunMacroInOtherWorkbook()
    Dim otherWorkbook As Workbook
    Dim otherWorksheet As Worksheet
    Dim WB1 As String
    Dim Macro1 As String
    WB1 = "B.xlsm"
    Macro1 = "C"
        
    ' Set otherWorkbook as the external workbook (change the path as needed)
     Set otherWorkbook = Workbooks.Open("D:\B.xlsm")
   
    
    ' Set otherWorksheet as the specific worksheet in the other workbook
    Set otherWorksheet = otherWorkbook.Sheets("D") ' Replace "Sheet1" with the name of the worksheet
    
            Run "'" & WB1 & "'!" & Macro1
            
            ' Run your macro in the other workbook here
            ' Example:
            ' otherWorkbook.Run "YourMacroName"
            
            ' Add a delay before checking the next cell (e.g., 1 second)
            Application.Wait Now + TimeValue("00:00:10")
      End Sub

ขอบคุณครับ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่