Page 1 of 1

สอบถาม Save as เฉพาะ Sheets

Posted: Fri Jun 08, 2018 7:04 pm
by siamsrising
รบกวนครับเวลา Save แล้วอยากให้แยก Sheets และให้ Save As เป็นไฟล์ปกติครับ ผมไม่รู้ว่าต้องแก้หรือเพิ่มในส่วนตรงไหนบ้าง

Code: Select all

Sub SaveAsName()
    Dim FName           As String
    Dim FPath           As String
    FPath = "C:\Users\Win_10\Desktop\test"
    FName = Sheets("save").Range("a2").Text
    ThisWorkbook.SaveAs FileName:=FPath & "\" & FName + ".xlsm"
End Sub

Re: สอบถาม Save as เฉพาะ Sheets

Posted: Fri Jun 08, 2018 7:44 pm
by snasui
:D ควรแนบตัวอย่างไฟล์มาด้วยจะได้สะดวกในการทำสอบครับ

ตัวอย่าง Code ครับ

Code: Select all

'Other code...
    Dim sh              As Worksheet
    FPath = "C:\Users\Win_10\Desktop\test"
    FName = Sheets("save").Range("a2").Text
    For Each sh In Worksheets
        sh.Copy
        ActiveWorkbook.SaveAs Filename:=FPath & "\" & FName & sh.Name & ".xlsm"
    Next sh

Re: สอบถาม Save as เฉพาะ Sheets

Posted: Sat Jun 09, 2018 8:18 am
by siamsrising
จากที่ทำตาม code ที่อาจารย์ให้มาผมไม่ค่อยเข้าใจครับว่าต้องปรับแก้ตรงไหนรบกวนอาจารย์ดูไฟล์และ code ให้หน่อยครับ :cry:

Re: สอบถาม Save as เฉพาะ Sheets

Posted: Sat Jun 09, 2018 10:10 am
by snasui
:D ผมตอบไปแล้วตามด้านบน ลองปรับมาเองก่อน ติดตรงไหนค่อยถามกันต่อ

บรรทัดใดที่ขึ้นว่า 'Other code แสดงว่าเป็นส่วนของ Code เดิม เคยใช้อยู่อย่างไรก็ใช้อย่างนั้น ผมพยายามจะโพสต์มาเฉพาะที่ได้ปรับปรุงใหม่เท่านั้นครับ

Re: สอบถาม Save as เฉพาะ Sheets

Posted: Sat Jun 09, 2018 10:18 am
by siamsrising
อันนี้เป็นอันที่ผมเขียนใหม่ครับคือผมอยากให้ให้แยกชีสและเซฟเป็นวันที่นั้นๆ โดยเซฟเป็นไฟล์ธรรมดา แต่พยามแก้อยู่ครับรบกวนช่วยหน่อยครับ

Code: Select all

Sub SaveAsName()
Sheets("save").Select
Sheets("save").Copy
Sheets("save").Select
Sheets("save").Activate
Sheets("save").UsedRange.Copy
Dim FName           As String
Dim FPath           As String
 FPath = "C:\Users\Win_10\Desktop\test"
End Sub

Re: สอบถาม Save as เฉพาะ Sheets

Posted: Sat Jun 09, 2018 10:20 am
by snasui
siamsrising wrote: Sat Jun 09, 2018 10:18 am อันนี้เป็นอันที่ผมเขียนใหม่ครับคือผมอยากให้ให้แยกชีสและเซฟเป็นวันที่นั้นๆ โดยเซฟเป็นไฟล์ธรรมดา แต่พยามแก้อยู่ครับรบกวนช่วยหน่อยครับ

Code: Select all

Sub SaveAsName()
Sheets("save").Select
Sheets("save").Copy
Sheets("save").Select
Sheets("save").Activate
Sheets("save").UsedRange.Copy
Dim FName           As String
Dim FPath           As String
 FPath = "C:\Users\Win_10\Desktop\test"
End Sub
:D อ่านที่ผมตอบไปด้านบน ลองปรับมาตามนั้น ติดตรงไหนค่อยถามกันต่อครับ

Re: สอบถาม Save as เฉพาะ Sheets

Posted: Mon Jun 11, 2018 10:33 am
by siamsrising
รบกวนหน่อยครับพอดีผมทำเสร็จแล้วแต่ไฟล์ใหญ่มากสามารถแก้อะไรได้ไหมครับ เวลาเปิดช้ามากครับ

Re: สอบถาม Save as เฉพาะ Sheets

Posted: Tue Jun 12, 2018 6:39 am
by snasui
:D ไฟล์ที่แนบมายังไม่ได้นำ Code ที่ผมตอบไว้ด้านบนไปปรับใช้ครับ

ส่วนที่บอกว่าไฟล์ใหญ่เกิดจากขนาดของ Table ในชีต Save (2) ที่มีจำนวนบรรทัดเท่ากับบรรทัดของชีตครับ