:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

Code VBA เมื่อถึงบรรทัดที่กำหนดให้แสดง PrintPreview ค่ะ

Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่

Post a reply


This question is a means of preventing automated form submissions by spambots.
Smilies
:D :thup: :cp: :flw: :rz: :sg: :tt: :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :ard: :arl: :aru: :| :mrgreen: :geek: :ugeek:

BBCode is ON
[img] is ON
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Code VBA เมื่อถึงบรรทัดที่กำหนดให้แสดง PrintPreview ค่ะ

Re: Code VBA เมื่อถึงบรรทัดที่กำหนดให้แสดง PrintPreview ค่ะ

#46

by suka » Wed Jan 22, 2014 4:23 pm

:thup: ขอบคุณค่ะอาจารย์ปรับนำมาใช้งานได้ตรงตามต้องการแล้วค่ะ

Re: Code VBA เมื่อถึงบรรทัดที่กำหนดให้แสดง PrintPreview ค่ะ

#45

by snasui » Wed Jan 22, 2014 10:07 am

:D นั่นไม่ได้อยู่ภายใน With...End With คำว่าอยู่ภายในคือด้านล่าง

Code: Select all

With abcdef
   ... <== This place are called inside With...End With
End With
สำหรับ บรรทัดนั้น Worksheets เป็นของไฟล์ (Parent) ไหนให้เขียนชื่อ Parent ไว้ข้างหน้าด้วย เช่น abcd.Worsheets("xyz")

Re: Code VBA เมื่อถึงบรรทัดที่กำหนดให้แสดง PrintPreview ค่ะ

#44

by suka » Wed Jan 22, 2014 9:59 am

อาจารย์คะ ใส่.เป็น.Worksheets แล้วโปรแกรมฟ้องตามภาพนี้ค่ะ

Code: Select all

wbShare.Save 
Application.ScreenUpdating = False
With formBook
        i = .Worksheets("Enterthedata").Range("C224")
End With
With .Worksheets("Template")
        Set rs = .Range(.Range("A2"), .Range("AF" & i + 1))
End With
Attachments
untitled (Small).JPG
untitled (Small).JPG (26.5 KiB) Viewed 97 times

Re: Code VBA เมื่อถึงบรรทัดที่กำหนดให้แสดง PrintPreview ค่ะ

#43

by snasui » Wed Jan 22, 2014 9:06 am

:D หน้า Worksheets ควรมีเครื่องหมาย . เป็น .Worksheets เพราะเป็นการใช้ภายใน With...End With ผมเคยกล่าวถึงเรื่องนี้ไปรอบนึงแล้วแต่ดูเหมือนจะยังไม่เข้าใจหลักการของการใช้ With...End With

และหากเกิด Error ขึ้นอีก นั่นไม่ใช่เพราะการเรียกใช้ผ่าน MainCode ครับ

Re: Code VBA เมื่อถึงบรรทัดที่กำหนดให้แสดง PrintPreview ค่ะ

#42

by suka » Wed Jan 22, 2014 8:55 am

อาจารย์คะ ได้ลอง AutoFilter ที่ไฟล์ Ph_BookShare แล้วเรียกใช้งาน MainCode สามารถปลด AutoFilter ได้ค่ะ
แต่ไม่วางข้อมูลที่บันทึกใหม่ไปไว้ที่ไฟล์ Ph_BookShare ค่ะ และโปรแกรมฟ้องตามภาพนี้ค่ะ
Attachments
untitled (Small).JPG
untitled (Small).JPG (15.52 KiB) Viewed 103 times

Re: Code VBA เมื่อถึงบรรทัดที่กำหนดให้แสดง PrintPreview ค่ะ

#41

by snasui » Wed Jan 22, 2014 8:02 am

:D ตัวอย่างตามด้านล่าง โดยเรียกใช้งานที่ MainCode ก็จะทำงานทั้งสองงานต่อเนื่องกันไปครับ

Code: Select all

Sub MainCode()
Call AutoFilter
Call PasteData
End Sub

Re: Code VBA เมื่อถึงบรรทัดที่กำหนดให้แสดง PrintPreview ค่ะ

#40

by suka » Tue Jan 21, 2014 5:43 pm

snasui wrote::D เราสามารถแบ่งย่อยได้เท่าที่ต้องการครับ

การแบ่งเป็นคำสั่งย่อย ๆ คือการสร้าง Procedure ใหม่ แล้วค่อยเรียกใช้ Procedure นั้น

ตัวอย่าง

Code: Select all

Sub MainCode()
Call Code1
Call Code2
End Sub

Sub Code1()
MsgBox "Hello."
End Sub

Sub Code2()
MsgBox "How are you?"
End Sub
ลองทดสอบเรียก MainCode ดูครับ
เรียนอาจารย์ค่ะ จากตัวอย่าง Code ของอาจารย์ด้านบนการแบ่งเป็นคำสั่งย่อยแล้วค่อยเรียกใช้
หากต้องการนำ Code นี้มาใช้กับ Code ทั้งชุดด้านล่างนี้ค่ะ

Code: Select all

Sub AutoFilter()
       Windows("Ph_BookShare.xlsx").Activate
       ActiveWindow.WindowState = xlNormal
       ActiveWindow.WindowState = xlNormal
       On Error Resume Next
       ActiveSheet.ShowAllData
       On Error GoTo 0
       ActiveWorkbook.Save
End Sub
ความต้องการให้ Code ปลด AutoFilter ที่ไฟล์ Ph_BookShare ก่อนหากมี AutoFilter ไว้แล้วค่อยวางข้อมูลใหม่ค่ะ
ขอรบกวนช่วยจะปรับอย่างใดค่ะ

Code: Select all

Sub PasteData()
        Dim wbShare As Workbook
        Dim formBook As Workbook
        Dim i As Integer
        Dim e As Long
        Dim rs As Range
        Dim rt As Range
        Set formBook = ThisWorkbook
        Set wbShare = Workbooks("Ph_BookShare.xlsx")
        With wbShare
                 e = wbShare.Sheets("Sheet1").Range("e" & Rows.Count).End(xlUp).Value   '
         End With
        wbShare.Save '<== Add this line for refresh shareworkbook
        Application.ScreenUpdating = False
            With formBook
                     i = Worksheets("Enterthedata").Range("C224")
            End With
            With Worksheets("Template")
                    Set rs = .Range(.Range("A2"), .Range("AF" & i + 1))
            End With

        Set rt = wbShare.Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
        If Worksheets("Enterthedata").Range("C224") = True Then
                MsgBox "Please check your data. This transaction already recorded."
            Exit Sub
        End If
  
            If Worksheets("Enterthedata").Range("B204") = "" Then
                    MsgBox "Your data is empty. Fill your data and click record button again."
            Exit Sub
        End If
        rs.Copy: rt.PasteSpecial xlPasteValues
        wbShare.Save '<==Save after record data
        formBook.Save

            Application.CutCopyMode = False
            Sheets("Enterthedata").Range("D2,K2,B204:B219,D204:D219,L204:L219,D221,E221,E204:F219,L204:M219,O204:O219").ClearContents
        With Worksheets("Enterthedata")
                .Range("N1") = .Range("N1") + 1
        End With
End Sub

Re: Code VBA เมื่อถึงบรรทัดที่กำหนดให้แสดง PrintPreview ค่ะ

#39

by suka » Thu Dec 12, 2013 1:01 pm

ใช้ได้ค่ะ ขอบคุณมากๆค่ะคุณ niwat2811

Re: Code VBA เมื่อถึงบรรทัดที่กำหนดให้แสดง PrintPreview ค่ะ

#38

by niwat2811 » Thu Dec 12, 2013 11:36 am

ลองแบบนี้ใช้ได้ไหมครับ

Code: Select all

Sub Macro6()
    Windows("PoWbShare.xlsx").Activate
    ActiveWindow.WindowState = xlNormal
    ActiveWindow.WindowState = xlNormal
    ActiveSheet.Range("$A$1:$AD$22798").AutoFilter Field:=2
    ActiveSheet.Range("$A$1:$AD$21798").AutoFilter Field:=3
    ActiveSheet.Range("$A$1:$AD$21798").AutoFilter Field:=4
    ActiveSheet.Range("$A$1:$AD$21798").AutoFilter Field:=5
    ActiveSheet.ShowAllData
End Sub

Re: Code VBA เมื่อถึงบรรทัดที่กำหนดให้แสดง PrintPreview ค่ะ

#37

by suka » Thu Dec 12, 2013 10:21 am

เรียนอาจารย์และท่านผู้รู้ช่วยเรื่องปรับ Code ค่ะ

โค๊ดเพื่อสั่งปลด AutoFilter ที่ชีท PoWbShare ซึ่งมีหลายคอลัมน์ หากมีคอลัมน์ใดคอลัมน์หนึ่ง AutoFilter ไว้ก็ให้ปลดออก โค๊ดด้านล่างนี้ต้องปรับอย่างไรคะ

Code: Select all

Sub Macro6()
    Windows("PoWbShare.xlsx").Activate
    ActiveWindow.WindowState = xlNormal
    ActiveWindow.WindowState = xlNormal
    ActiveSheet.Range("$A$1:$AD$22798").AutoFilter Field:=2
    ActiveSheet.Range("$A$1:$AD$21798").AutoFilter Field:=3
    ActiveSheet.Range("$A$1:$AD$21798").AutoFilter Field:=4
    ActiveSheet.Range("$A$1:$AD$21798").AutoFilter Field:=5
End Sub

Re: Code VBA เมื่อถึงบรรทัดที่กำหนดให้แสดง PrintPreview ค่ะ

#36

by suka » Fri Dec 06, 2013 8:49 pm

:thup: ขอบพระคุณค่ะอาจารย์ ใช้ได้ตามที่ต้องการแล้วค่ะ

Re: Code VBA เมื่อถึงบรรทัดที่กำหนดให้แสดง PrintPreview ค่ะ

#35

by snasui » Fri Dec 06, 2013 8:36 pm

:D นำ Code นี้ไปวางไว้ก่อนหน้า Exit Sub อีกที่ครับ

formBook.Sheets("Form").Range("G4:G10,H1,I4:N10,M12").ClearContents

Re: Code VBA เมื่อถึงบรรทัดที่กำหนดให้แสดง PrintPreview ค่ะ

#34

by suka » Fri Dec 06, 2013 8:28 pm

Code: Select all

Sub BeenArL()
    Dim wbShare As Workbook
    Dim wb As Workbook ' declare wb as workbook
    Dim wdShare As Workbook
    Dim formBook As Workbook
    Dim wdShareOpen As Boolean
    Dim rSource As Range
    Dim rTarget As Range
    Dim rs As Range
    Dim rt As Range
    Dim i As Double
    Set formBook = ThisWorkbook
    Set wbShare = Workbooks("ArBookShare.xlsx")
    For Each wb In Workbooks ' loop wb not loop wdShare
        If wb.Name = "PoWbShare.xlsx" Then
            wdShareOpen = True
        End If
    Next wb
    If Not wdShareOpen Then
        ChDir "\\Server\DATA (E)\My P S  Project.xls\PS.BookShare\AR.ระบบลูกหนี้"
    Workbooks.Open Filename:="\\Server\DATA (E)\My P S  Project.xls\PS.BookShare\AR.ระบบลูกหนี้\PoWbShare.xlsx"
    End If
    Set wdShare = Workbooks("PoWbShare.xlsx") 'set wdShare after open not before open
    With formBook.Sheets("Form")
        Set rSource = .Range("B3:B50")
    End With
    With wdShare.Sheets("Sheet1")
        Set rTarget = .Range("E2", .Range("E" & Rows.Count).End(xlUp))
    End With
    With formBook.Sheets("Form")
        i = (.Range("L11") + .Range("M11") + .Range("M12"))
        If i <> .Range("J12") Then
            MsgBox "Please check your data. This transaction already recorded."
            Exit Sub
        End If
    End With
    Application.Calculation = xlCalculationManual
    For Each rs In rSource
        For Each rt In rTarget
            If rt = rs Then rt.Offset(0, 25) = "Y"
        Next rt
    Next rs
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = False
    Set rt = wbShare.Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
    With formBook.Sheets("TemBilling")
    .Range("a2:p2").Resize(.Range("q1")).Copy
    wbShare.Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp) _
        .Offset(1, 0).PasteSpecial xlPasteValues
    End With
   With formBook.Sheets("TemBilling")
         .Range("P10:W10").Resize(.Range("Y9")).Copy
        formBook.Sheets("Report").Range("A" & Rows.Count).End(xlUp) _
        .Offset(1, 0).PasteSpecial xlPasteValues
    If formBook.Sheets("Report").Range("A34") <> "" Then
                MsgBox "คุณต้องการพิมพ์รายงานหรือไม่"
            Exit Sub
        End If
    End With
       
formBook.Sheets("Form").Range("G4:G10,H1,I4:N10,M12").ClearContents
With formBook.Sheets("Form")
.Range("N2") = .Range("N2") + 1
End With
Application.ScreenUpdating = True
With Windows("PoWbShare.xlsx").Activate
    ActiveWorkbook.Save
End With
With Windows("ArBookShare.xlsx").Activate
    ActiveWorkbook.Save
End With
With Windows("AR.Form").Activate
    ActiveWorkbook.Save
End With
End Sub
Code หลักตามนี้ค่ะอาจารย์
snasui wrote::D Code ที่เขียนแล้วติดเขียนไว้ตรงไหน ก่อนที่เขียนแยกออกมาควรที่จะรวมเอาไว้ใน Code หลักแล้วโพสต์มาให้ดูก่อน จะได้เห็นว่าวางไว้ถูกตำแหน่ง หรือไม่ อย่างไร

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

Re: Code VBA เมื่อถึงบรรทัดที่กำหนดให้แสดง PrintPreview ค่ะ

#33

by snasui » Fri Dec 06, 2013 8:02 pm

:D Code ที่เขียนแล้วติดเขียนไว้ตรงไหน ก่อนที่เขียนแยกออกมาควรที่จะรวมเอาไว้ใน Code หลักแล้วโพสต์มาให้ดูก่อน จะได้เห็นว่าวางไว้ถูกตำแหน่ง หรือไม่ อย่างไร

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

Re: Code VBA เมื่อถึงบรรทัดที่กำหนดให้แสดง PrintPreview ค่ะ

#32

by suka » Fri Dec 06, 2013 4:55 pm

เรียนอาจารย์ค่ะ ขอรบกวนช่วยเรื่องปรับ Code ด้านล่างนี้ค่ะ Code นี้ได้กำหนดให้ชีท Report เมื่อข้อมูลวางถึงเซลล์ A34
ให้แสดงข้อความ"คุณต้องการพิมพ์รายงานหรือไม่"การวางข้อมูล A2:A33 ใช้งานได้ดีค่ะ

Code: Select all

With formBook.Sheets("TemBilling")
         .Range("P10:W10").Resize(.Range("Y9")).Copy
        formBook.Sheets("Report").Range("A" & Rows.Count).End(xlUp) _
        .Offset(1, 0).PasteSpecial xlPasteValues
        If formBook.Sheets("Report").Range("A34") <> "" Then
                MsgBox "คุณต้องการพิมพ์รายงานหรือไม่"
            Exit Sub
        End If
    End With
ติดที่ A34 ค่ะ เมื่อวางข้อมูลและแสดงข้อความ MsgBox แล้วสามารถวางข้อมูลได้ แต่ติดตรงไม่ล้างข้อมูลที่ชีท Form ค่ะ จะปรับอย่างไรให้ Code ล้างข้อมูลที่ชีท Form ให้ค่ะ

Code: Select all

formBook.Sheets("Form").Range("G4:G10,H1,I4:N10,M12").ClearContents

Re: Code VBA เมื่อถึงบรรทัดที่กำหนดให้แสดง PrintPreview ค่ะ

#31

by suka » Thu Oct 10, 2013 8:45 pm

ขอบคุณค่ะอาจารย์

Re: Code VBA เมื่อถึงบรรทัดที่กำหนดให้แสดง PrintPreview ค่ะ

#30

by snasui » Tue Oct 08, 2013 12:41 pm

:D แบ่งเองเลยครับ ติดแล้วค่อยถามกันครับ

Re: Code VBA เมื่อถึงบรรทัดที่กำหนดให้แสดง PrintPreview ค่ะ

#29

by suka » Tue Oct 08, 2013 12:37 pm

อาจารย์คะ ลองแบ่งคำสั่งย่อยตามนี้ได้ไหมคะ

Code: Select all

With formBook.Sheets("TemBilling")
    .Range("P10:W10").Resize(.Range("Y9")).Copy
    wbShare.Sheets("Report").Range("A" & Rows.Count).End(xlUp) _
     .Offset(1, 0).PasteSpecial xlPasteValues
     End With
If wbShare.Sheets("Report").Range("A35") <> "" Then
         MsgBox "คุณต้องการพิมพ์รายงานหรือไม่"
End If
formBook.Sheets("Form").Range("G4:G10,H1,I4:N10,M12").ClearContents
With formBook.Sheets("Form")
.Range("N2") = .Range("N2") + 1
End With
Application.ScreenUpdating = True
With Windows("PoWbShare.xlsx").Activate
    ActiveWorkbook.Save
End With
With Windows("ArBookShare.xlsx").Activate
    ActiveWorkbook.Save
End With
With Windows("AR.Form").Activate
    ActiveWorkbook.Save
End With
End Sub

Re: Code VBA เมื่อถึงบรรทัดที่กำหนดให้แสดง PrintPreview ค่ะ

#28

by snasui » Tue Oct 08, 2013 11:20 am

:D เราสามารถแบ่งย่อยได้เท่าที่ต้องการครับ

การแบ่งเป็นคำสั่งย่อย ๆ คือการสร้าง Procedure ใหม่ แล้วค่อยเรียกใช้ Procedure นั้น

ตัวอย่าง

Code: Select all

Sub MainCode()
   Call Code1
   Call Code2
End Sub

Sub Code1()
    MsgBox "Hello."
End Sub

Sub Code2()
    MsgBox "How are you?"
End Sub
ลองทดสอบเรียก MainCode ดูครับ

Re: Code VBA เมื่อถึงบรรทัดที่กำหนดให้แสดง PrintPreview ค่ะ

#27

by suka » Tue Oct 08, 2013 11:01 am

ขอบคุณค่ะอาจารย์

อาจารย์คะ Code ด้านล่างนี้ขอรบกวนอาจารย์ช่วยแนะการแบ่งให้เป็นคำสั่งย่อย ๆ ให้หน่อยค่ะ
snasui wrote:หากต้องการจะ Save ก็ค่อยทำอีก Procedure ไม่ใช่ให้ทำทุกสั่งทุกอย่างต่อเนื่องกันไปใน Procedure เดียว การเขียน Code ควรแบ่งเป็นคำสั่งย่อย ๆ เพื่อให้ง่ายต่อการตรวจสอบ ติดตามแก้ไขและปรับปรุง Code ครับ

Code: Select all

With formBook.Sheets("TemBilling")
    .Range("P10:W10").Resize(.Range("Y9")).Copy
    wbShare.Sheets("Report").Range("A" & Rows.Count).End(xlUp) _
     .Offset(1, 0).PasteSpecial xlPasteValues
     End With
If wbShare.Sheets("Report").Range("A35") <> "" Then
         MsgBox "คุณต้องการพิมพ์รายงานหรือไม่"
End If
formBook.Sheets("Form").Range("G4:G10,H1,I4:N10,M12").ClearContents
With formBook.Sheets("Form")
.Range("N2") = .Range("N2") + 1
End With
Application.ScreenUpdating = True
Windows("PoWbShare.xlsx").Activate
ActiveWorkbook.Save
Windows("ArBookShare.xlsx").Activate
ActiveWorkbook.Save
Windows("AR.Form").Activate
ActiveWorkbook.Save
End Sub

Top