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

การแยกข้อมูลออกจากฐานป็นเดือน

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
yodpao.b
Gold
Gold
Posts: 1608
Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard

การแยกข้อมูลออกจากฐานป็นเดือน

#1

Post by yodpao.b »

Code: Select all

Sub MacroAdvancedFilter()   'code นี้อยู่ในโมดูล 8
    Workbooks.Add
    Range("A5").Select  'กรองข้อมุล
    Workbooks("OT_New.xls").Sheets("ฐานข้อมูลล่วงเวลา").Range("A6:AC65536"). _
        AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Workbooks("OT_New.xls") _
        .Sheets("ฐานข้อมูลล่วงเวลา").Range("X2:X3"), CopyToRange:=Range("A5"), _
        Unique:=False

    Windows("OT_New.xls").Activate      'copy
    Rows("4:6").Select
    Selection.Copy
    Application.WindowState = xlMinimized
    [color=#BF4080]Windows("Book6").Activate[/color]
    Range("A3").Select
    ActiveSheet.Paste
    Range("A1").Select
    Application.CutCopyMode = False
End Sub
อาจาร์ยครับ Code ด้านบน ผมใช้แมโครทำขึ้นมา คือการกรองข้อมูลขั้นสูงแล้วนำมาไว้ใน Workbooks ใหม่
ต่อจากนั้นเป็นการ Copy จาก Workbooks("OT_New.xls").Sheets("ฐานข้อมูลล่วงเวลา") บรรทัดที่ 4-6
มาไว้ใน สมุดงานใหม่
แต่โปรแกรม eeror ตรงที่ Code "Windows("Book6").Activate"
สาเหตุคงจะเป็นตรงชื่อสมุดงานครับ จะแก้ไขอย่างไรดี
(เชลที่ใช้เลือกเดือนอยู่ที่ x2 , x3) ในSheets("ฐานข้อมูลล่วงเวลา")
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การแยกข้อมูลออกจากฐานป็นเดือน

#2

Post by snasui »

yodpao.b wrote:แต่โปรแกรม eeror ตรงที่ Code "Windows("Book6").Activate"
สาเหตุคงจะเป็นตรงชื่อสมุดงานครับ จะแก้ไขอย่างไรดี
:D ลองเปลี่ยนเป็น Windows("Book6.xls").Activate หรือ Windows("Book6.xlsx").Activate (ขึ้นอยู่กับว่าใช้ Excel Version ใด) ดูครับ
yodpao.b
Gold
Gold
Posts: 1608
Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard

Re: การแยกข้อมูลออกจากฐานป็นเดือน

#3

Post by yodpao.b »

เหมือนเดิมครับอาจาร์ย มันออกมาเฉพาะข้อมูล หัวข้อไม่ออก
เข้าใจว่าชื่อ book มันเปลี่ยนไปเรื่อย มันน่าจะใช้ลัษณะนามว่า
bookที่คุณใช้งานก่อนหน้านี้ ให้ทำการ copy
ขอบคุณครับ พรุ่งนี้พบกันใหม่
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การแยกข้อมูลออกจากฐานป็นเดือน

#4

Post by snasui »

:D ลองดู Code ด้านล่างครับว่าทำงานได้หรือไม่

Code: Select all

Sub MacroAdvancedFilter()
    Set Newbook = Workbooks.Add
    Workbooks("OT_New.xls").Activate
    Sheets("ฐานข้อมูลล่วงเวลา").Range("A5").Select    '   การกรองข้อมูล
    Workbooks("OT_New.xls").Sheets("ฐานข้อมูลล่วงเวลา").Range("A6:AC65536"). _
        AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Workbooks("OT_New.xls") _
        .Sheets("ฐานข้อมูลล่วงเวลา").Range("X2:X3"), CopyToRange:=Range("A5"), _
        Unique:=False        
    Windows("OT_New.xls").Activate   '   การ copy
    Rows("4:6").Select
    Selection.Copy
    Application.WindowState = xlMinimized
    Newbook.Activate
    Range("A3").Select
    ActiveSheet.Paste
    Range("A1").Select
    Application.CutCopyMode = False
End Sub
yodpao.b
Gold
Gold
Posts: 1608
Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard

Re: การแยกข้อมูลออกจากฐานป็นเดือน

#5

Post by yodpao.b »

เรียบร้อยแล้วครับอาจาร์ย
ต้องเอาบรรทัดนี้ออกด้วยครับถึงไม่ Error
"Workbooks("OT_New.xls").Activate"
เคยได้ยินอาจาร์ยเขียนว่า ให้ลอง รันที่ละสเตป หมายถึง สามารถสั่งให้รันที่ละบบรทัดได้หรือครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การแยกข้อมูลออกจากฐานป็นเดือน

#6

Post by snasui »

yodpao.b wrote:เคยได้ยินอาจาร์ยเขียนว่า ให้ลอง รันที่ละสเตป หมายถึง สามารถสั่งให้รันที่ละบบรทัดได้หรือครับ
:D ยินดีด้วยครับ สำหรับการ Run ทีละ Step ให้กดแป้น F8 ซ้ำ ๆ แล้วดูผลครับ จะติดตามได้ว่าติดที่บรรทัดใด จะได้แก้ได้ตรงจุดครับ :P
yodpao.b
Gold
Gold
Posts: 1608
Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard

Re: การแยกข้อมูลออกจากฐานป็นเดือน

#7

Post by yodpao.b »

ขอบคุณครับ
yodpao.b
Gold
Gold
Posts: 1608
Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard

Re: การแยกข้อมูลออกจากฐานป็นเดือน

#8

Post by yodpao.b »

Code: Select all

Sub MacroAdvancedFilter()
On Error Resume Next

    Set Newbook = Workbooks.Add
    Range("A5").Select  '¡Ãͧ¢éÍÁØÅ
    Workbooks("OT_New.xls").Sheets("°Ò¹¢éÍÁÙÅÅèǧàÇÅÒ").Range("A6:AC65536"). _
        AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Workbooks("OT_New.xls") _
        .Sheets("°Ò¹¢éÍÁÙÅÅèǧàÇÅÒ").Range("X2:X3"), CopyToRange:=Range("A5"), _
        Unique:=False
                
    If Range("A6") <> "" Then
                Windows("OT_New.xls").Activate   '   ¡ÒÃ copy
                Sheets("°Ò¹¢éÍÁÙÅÅèǧàÇÅÒ").Select
                Rows("4:6").Select
                Selection.Copy
                Application.WindowState = xlMinimized
                Newbook.Activate
                Range("A3").Select
                ActiveSheet.Paste
                Range("A1").Select
                Application.CutCopyMode = False
                
    Columns("A:AC").Select   '   ¨Ñ´¤ÇÒÁ¡ÇéÒ§àªÅ
    Columns("A:AC").EntireColumn.AutoFit
    Columns("C:C").ColumnWidth = 18.86
    Columns("F:F").ColumnWidth = 14.57
    Columns("G:G").ColumnWidth = 11.86
    Columns("H:H").ColumnWidth = 17
    Columns("I:I").ColumnWidth = 18
    Range("A1").Select
                
                                    MsgBox "·èÒ¹·Ó¡Òà Export File à´×͹  " & Range("X6") & "  àÃÕºÂÃéÍÂáÅéÇ ¡ÃØ³Ò Save File ´éÇÂ", vbExclamation, "Export File"
                                    'ActiveWorkbook.SaveAs
                                    ActiveWindow.Close
                            
            Else
                MsgBox "à´×͹·Õè·èÒ¹àÅ×Í¡äÁèÁÕã¹°Ò¹¢éÍÁÙÅ", vbExclamation, "Export File"
                ActiveWindow.Close
            End If
            
End Sub

Code: Select all

            Else
                MsgBox "à´×͹·Õè·èÒ¹àÅ×Í¡äÁèÁÕã¹°Ò¹¢éÍÁÙÅ", vbExclamation, "Export File"
                ActiveWindow.Close
            End If
เมื่อ สั่ง ปิด New Book เครื่องจะถามว่าต้องการ Save ไหม
เป็นไปได้ไหมครับ ให้ไฟล์ปิดไปเลยโดยไม่ต้องถามอะไรและไม่ Save ด้วย (สิ่งที่เครื่องถามอยู่ในรูปด้านล่าง)
Untitled.gif
You do not have the required permissions to view the files attached to this post.
Last edited by yodpao.b on Wed Oct 12, 2011 1:00 pm, edited 1 time in total.
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การแยกข้อมูลออกจากฐานป็นเดือน

#9

Post by snasui »

yodpao.b wrote:เมื่อ สั่ง ปิด New Book เครื่องจะถามว่าต้องการ Save ไหม
เป็นไปได้ไหมครับ ให้ไฟล์ปิดไปเลยโดยไม่ต้องถามอะไร
:D :tt: เป็นไปได้ครับ สามารถใช้ Code ตามด้านล่างครับ

Code: Select all

ActiveWindow.Close False
yodpao.b
Gold
Gold
Posts: 1608
Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard

Re: การแยกข้อมูลออกจากฐานป็นเดือน

#10

Post by yodpao.b »

Code: Select all

  MsgBox "·èÒ¹·Ó¡Òà Export File à´×͹  " & Range("X6") & "  àÃÕºÂÃéÍÂáÅéÇ ¡ÃØ³Ò Save File ´éÇÂ", vbExclamation, "Export File"
                                    ActiveWorkbook.SaveAs
                                    'ActiveWindow.Close
อาจาร์ยครับแล้วในกรณีที่ต้องการ Save และให้แสดงถึงขั้นตอนการ Save ครับ
รองใช้ Save As แล้ว มัน Save โดยไม่ถามอะไรเลย
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การแยกข้อมูลออกจากฐานป็นเดือน

#11

Post by snasui »

yodpao.b wrote:อาจาร์ยครับแล้วในกรณีที่ต้องการ Save และให้แสดงถึงขั้นตอนการ Save ครับ
:D ลองตามด้านล่างครับ

Code: Select all

'Other code
fileSaveName = Application.GetSaveAsFilename( _
    fileFilter:="Excel Files (*.xls), *.xls")
If fileSaveName <> False Then
    MsgBox "Save as " & fileSaveName
End If 
'Other code
yodpao.b
Gold
Gold
Posts: 1608
Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard

Re: การแยกข้อมูลออกจากฐานป็นเดือน

#12

Post by yodpao.b »

เรียนอาจารย์ครับอยากให้อาจาร์ยช่วย Run Code นี้หน่อยครับ ไม่เข้าใจว่าทำไม่ excle ถึงอยู่เมนูบาร์ด้านล่าง มันไม่ยอมทำงานให้จบขั้นตอนครับ
Untitled3.gif

Code: Select all

Sub MacroAdvancedFilter()
On Error Resume Next

    Set Newbook = Workbooks.Add
    Range("A5").Select  '¡Ãͧ¢éÍÁØÅ
    Workbooks("OT_New.xls").Sheets("°Ò¹¢éÍÁÙÅÅèǧàÇÅÒ").Range("A6:AC65536"). _
        AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Workbooks("OT_New.xls") _
        .Sheets("°Ò¹¢éÍÁÙÅÅèǧàÇÅÒ").Range("X2:X3"), CopyToRange:=Range("A5"), _
        Unique:=False
                
    If Range("A6") <> "" Then
                                                            
                Windows("OT_New.xls").Activate   '   ¡ÒÃ copy
                Sheets("°Ò¹¢éÍÁÙÅÅèǧàÇÅÒ").Select
                Rows("4:6").Select
                Selection.Copy
                Application.WindowState = xlMinimized
                Newbook.Activate
                Range("A3").Select
                ActiveSheet.Paste
                Range("A1").Select
                Application.CutCopyMode = False
                
    Columns("A:AC").Select   '   ¨Ñ´¤ÇÒÁ¡ÇéÒ§àªÅ
    Columns("A:AC").EntireColumn.AutoFit
    Columns("C:C").ColumnWidth = 18.86
    Columns("F:F").ColumnWidth = 14.57
    Columns("G:G").ColumnWidth = 11.86
    Columns("H:H").ColumnWidth = 17
    Columns("I:I").ColumnWidth = 18
    Range("A1").Select
    
                                          MsgBox "·èÒ¹·Ó¡Òà Export File à´×͹  " & Range("X6") & "  àÃÕºÂÃéÍÂáÅéÇ ¡ÃØ³Ò Save File ´éÇÂ", vbExclamation, "Export File"
                                         ActiveWindow.Close
                            
            Else
                MsgBox "à´×͹·Õè·èÒ¹àÅ×Í¡äÁèÁÕã¹°Ò¹¢éÍÁÙÅ", vbExclamation, "Export File"
                ActiveWindow.Close False
            End If
End Sub
ทั้งนี้ผมได้แนบไฟล์และวิธี RUn from6
Untitled1.gif
Untitled2.gif
Untitled3.gif
You do not have the required permissions to view the files attached to this post.
yodpao.b
Gold
Gold
Posts: 1608
Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard

Re: การแยกข้อมูลออกจากฐานป็นเดือน

#13

Post by yodpao.b »

แนบไฟล์
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การแยกข้อมูลออกจากฐานป็นเดือน

#14

Post by snasui »

:lol: ก่อนที่จะถามในประเด็นต่อไป ควรจะตอบด้วยครับว่าที่ผมตอบไปคราวก่อนนั้นได้ผลหรือไม่อย่างไร หากไม่ได้ผลได้ใช้การแก้ไขด้วยวิธีใดไปแล้วหรือไม่
yodpao.b
Gold
Gold
Posts: 1608
Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard

Re: การแยกข้อมูลออกจากฐานป็นเดือน

#15

Post by yodpao.b »

Sub Macro1()
fileSaveName = Application.GetSaveAsFilename( _
fileFilter:="Excel Files (*.xls), *.xls")
If fileSaveName <> False Then
MsgBox "Save as " & fileSaveName
End If
End Sub
จากหัวข้อที่แล้ว โคด้ที่อาจาร์ยให้มา ตรงตามที่ต้องการครับแต่ว่าเมื่อทดสอบดูมันไม่ Save ลง เครื่อง
ผมเลยใช้ โดดด้านล่างนี้ไปก่อน ได้ผลคล้ายกันแต่มันไม่แสดง MsgBox เท่านั้นเอง กะว่าจะลองไปทดสอบใหม่ในวันหยุด
ถ้าอาจาร์ยมีเวลารบกวนช่วยตอบคำถามข้อถัดมาด้วยครับ
yodpao.b
Gold
Gold
Posts: 1608
Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard

Re: การแยกข้อมูลออกจากฐานป็นเดือน

#16

Post by yodpao.b »

yodpao.b wrote:Sub Macro1()
fileSaveName = Application.GetSaveAsFilename( _
fileFilter:="Excel Files (*.xls), *.xls")
If fileSaveName <> False Then
MsgBox "Save as " & fileSaveName
End If
End Sub
จากหัวข้อที่แล้ว โคด้ที่อาจาร์ยให้มา ตรงตามที่ต้องการครับแต่ว่าเมื่อทดสอบดูมันไม่ Save ลง เครื่อง
ผมเลยใช้ โดดด้านล่างนี้ไปก่อน ได้ผลคล้ายกันแต่มันไม่แสดง MsgBox เท่านั้นเอง กะว่าจะลองไปทดสอบใหม่ในวันหยุด
ถ้าอาจาร์ยมีเวลารบกวนช่วยตอบคำถามข้อถัดมาด้วยครับ

Code: Select all

ActiveWindow.Close
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การแยกข้อมูลออกจากฐานป็นเดือน

#17

Post by snasui »

yodpao.b wrote:Sub Macro1()
fileSaveName = Application.GetSaveAsFilename( _
fileFilter:="Excel Files (*.xls), *.xls")
If fileSaveName <> False Then
MsgBox "Save as " & fileSaveName
End If
End Sub
จากหัวข้อที่แล้ว โคด้ที่อาจาร์ยให้มา ตรงตามที่ต้องการครับแต่ว่าเมื่อทดสอบดูมันไม่ Save ลง เครื่อง
...
:D ลองทดสอบ Code ด้านล่างครับว่า Save ในตำแหน่งที่เลือกหรือไม่

Code: Select all

Sub Macro1()
Dim fileSaveName As String
fileSaveName = Application.GetSaveAsFilename( _
    fileFilter:="Excel Files (*.xls), *.xls")
ActiveWorkbook.SaveAs Filename:=fileSaveName
If fileSaveName <> "False" Then
    MsgBox "Save as " & fileSaveName
End If
End Sub
yodpao.b
Gold
Gold
Posts: 1608
Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard

Re: การแยกข้อมูลออกจากฐานป็นเดือน

#18

Post by yodpao.b »

Save แล้วครับอาจาร์ย ขอบคุณมากครับ อาจารย์ขอข้อถัดไปด้วยครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การแยกข้อมูลออกจากฐานป็นเดือน

#19

Post by snasui »

:D จากคำถามที่ว่าไม่จบขั้นตอน ช่วยลำดับมาให้ด้วยครับว่า ทำอะไร อย่างไร การจบขั้นตอนที่ว่านั้นผลลัพธ์ควรเป็นอย่างไร :?:
yodpao.b
Gold
Gold
Posts: 1608
Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard

Re: การแยกข้อมูลออกจากฐานป็นเดือน

#20

Post by yodpao.b »

Code: Select all

Sub MacroAdvancedFilter()
On Error Resume Next

    Set Newbook = Workbooks.Add
    Range("A5").Select  '¡Ãͧ¢éÍÁØÅ
    Workbooks("Overtime.xls").Sheets("°Ò¹¢éÍÁÙÅÅèǧàÇÅÒ").Range("A6:AC65536"). _
        AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Workbooks("Overtime.xls") _
        .Sheets("°Ò¹¢éÍÁÙÅÅèǧàÇÅÒ").Range("X2:X3"), CopyToRange:=Range("A5"), _
        Unique:=False
                
    If Range("A6") <> "" Then
                                                            
                Windows("Overtime.xls").Activate   '   ¡ÒÃ copy
                Sheets("°Ò¹¢éÍÁÙÅÅèǧàÇÅÒ").Select
                Rows("4:6").Select
                Selection.Copy
                Application.WindowState = xlMinimized
                Newbook.Activate
                Range("A3").Select
                ActiveSheet.Paste
                Range("A1").Select
                Application.CutCopyMode = False
                
    Columns("A:AC").Select   '   ¨Ñ´¤ÇÒÁ¡ÇéÒ§àªÅ
    Columns("A:AC").EntireColumn.AutoFit
    Columns("C:C").ColumnWidth = 18.86
    Columns("F:F").ColumnWidth = 14.57
    Columns("G:G").ColumnWidth = 11.86
    Columns("H:H").ColumnWidth = 17
    Columns("I:I").ColumnWidth = 18
    Range("A1").Select     
                                          MsgBox "·èÒ¹·Ó¡Òà Export File à´×͹  " & Range("X6") & "   àÃÕºÂÃéÍÂáÅéÇ ¡ÃØ³Ò Save File ´éÇÂ", vbExclamation, "Export File"
                                         Call MacroSaveAs
                            
            Else
                MsgBox "à´×͹·Õè·èÒ¹àÅ×Í¡äÁèÁÕã¹°Ò¹¢éÍÁÙÅ", vbExclamation, "Export File"
                ActiveWindow.Close False
            End If
End Sub
หลังจากการ Run Code นี้ ในช่วงขณะที่ Run ไฟล์ excel ได้ลงไปอยุ่นะตำแหน่ง ทาร์บารด้านล่างดังรูปด่านล่าง
ต้องลาก Mouse ไปคลิก Excel ในทาร์บาร จ฿งจะทำการ Run ต่อได้
Untitled3.gif
You do not have the required permissions to view the files attached to this post.
Post Reply