Page 1 of 1
ขอสอบถามวิธีการเขียน macro ให้ดำเนินการการ save as file แยกตามข้อมูลโรงงาน จะต้องทำยังไงครับ
Posted: Mon Feb 20, 2017 11:26 am
by carmomile
ขอสอบถามวิธีการเขียน macro ให้ดำเนินการการ save as file แยกตามข้อมูลโรงงาน จะต้องทำยังไงครับ
คือผมจะต้องทำการ copy paste new workbook ทุกครั้งที่ทำและจะต้อง save as ไฟล์ตามชื่อโรงงานที่มี
พี่ๆพอจะมีวิธีแนะนำมั้ยครับ ในการ run macro ครั้งเดียวได้ไฟล์ออกมาพร้อมทั้ง format เดิม
เช่นมี 6 โรงงาน พอกด run จะได้ไฟล์ออกมา 6 ไฟล์ตามโรงงานนะครับ
รบกวนด้วยครับ
Re: ขอสอบถามวิธีการเขียน macro ให้ดำเนินการการ save as file แยกตามข้อมูลโรงงาน จะต้องทำยังไงครับ
Posted: Mon Feb 20, 2017 1:43 pm
by parakorn
คำถามเกี่ยวกับ VBA หรือ Macro ผู้ถามต้องลองเขียนมาเองก่อน
ลองเขียนแล้วติดปัญหาตรงไหน ค่อยๆถามกันไปครับ
Re: ขอสอบถามวิธีการเขียน macro ให้ดำเนินการการ save as file แยกตามข้อมูลโรงงาน จะต้องทำยังไงครับ
Posted: Mon Feb 20, 2017 2:13 pm
by carmomile
ต่อไปอาจจะมีโรงงานเพิ่มมา ก็เลยอยากจะขอแนวทางเพิ่มเติมนะครับ หากมี โรงงานเพิ่มเติม ผมจะมีวิธีอื่น นอกจากการ record macro ใหม่ หรือไม่ครับ
***เพิ่มเติมผมควรเขียน code ยังไงให้การบันทึกชื่อไฟล์เป็นไปตามชื่อโรงงานครับ (ผมไม่ค่อยรู้จักคำสั่งในการใช้งานมากพอนะครับ) รบกวนพี่ๆด้วยครับ
คือผมลองทำโดยการ record macro ได้ตัวอย่างดังนี้ครับ
Sub Macro2()
'
' Macro2 Macro
'
'
Sheets("ฟอร์ม").Select
Sheets("ฟอร์ม").Copy
ActiveSheet.Range("$B$6:$T$6019").AutoFilter Field:=1, Criteria1:=Array( _
"1209", "1294", "1312", "1318", "1328", "="), Operator:=xlFilterValues
Rows("7:7").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
ActiveSheet.Range("$B$6:$T$129").AutoFilter Field:=1
Range("A7").Select
ActiveCell.FormulaR1C1 = "1"
Range("A8").Select
ActiveCell.FormulaR1C1 = "2"
Range("A7:A8").Select
Selection.AutoFill Destination:=Range("A7:A129")
Range("A7:A129").Select
Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
ChDir "D:\save"
ActiveWorkbook.SaveAs Filename:= _
"D:\save\กระทบรับโอน1.xlsx", FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False
Windows("สรุปรับโอนBA1279_ล่าสุด.xls").Activate
Range("D30").Select
Sheets("ฟอร์ม").Select
Sheets("ฟอร์ม").Copy
Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveSheet.Range("$B$6:$T$6019").AutoFilter Field:=1, Criteria1:=Array( _
"1064", "1065", "1294", "1312", "1318", "1328", "="), Operator:=xlFilterValues
Rows("7:7").Select
Range(Selection, Selection.End(xlDown)).Select
ActiveWindow.SmallScroll Down:=6
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
ActiveSheet.Range("$B$6:$T$446").AutoFilter Field:=1
Range("A7").Select
ActiveCell.FormulaR1C1 = "1"
Range("A8").Select
ActiveCell.FormulaR1C1 = "2"
Range("A7:A8").Select
Selection.AutoFill Destination:=Range("A7:A446")
Range("A7:A446").Select
Range("D17").Select
ActiveWindow.SmallScroll Down:=0
ActiveWorkbook.SaveAs Filename:= _
"D:\save\กระทบรับโอน 2.xlsx", FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False
Windows("สรุปรับโอนBA1279_ล่าสุด.xls").Activate
End Sub
Re: ขอสอบถามวิธีการเขียน macro ให้ดำเนินการการ save as file แยกตามข้อมูลโรงงาน จะต้องทำยังไงครับ
Posted: Mon Feb 20, 2017 2:19 pm
by parakorn
ควรแนบไฟล์ตัวอย่าง เพื่อให้ผู้แก้ปัญหาสามารถเข้าถึงปัญหาได้ครับ
ส่วนวิธีโพสต์ Code ดูตัวอย่างได้ที่ลิ้งค์นี้ครับ
viewtopic.php?f=6&t=1187
Re: ขอสอบถามวิธีการเขียน macro ให้ดำเนินการการ save as file แยกตามข้อมูลโรงงาน จะต้องทำยังไงครับ
Posted: Mon Feb 20, 2017 2:29 pm
by carmomile
ครับผม