Page 1 of 1

ต้องการเชพไฟล์โดยใส่ชื่อในเซล D1

Posted: Tue Apr 14, 2020 10:03 pm
by yodpao.b
ต้องการเชพไฟล์โดยใส่ชื่อในเซล D1
ย้าย sheet 2 ไป workbook ใหม่แล้ว
ต้องการ SAVE ไฟล์ แต่ให้ใช้ชื่อในเซล D2 ที่อยู่ใน sheet 2 ครับ

code ที่เขียนเองใช้ไม่ได้ครับ

Code: Select all

Sub MoveToNew()
'Move the active sheet to a new Workbook.

    ActiveSheet.Move

    Dim sheetName As String
    Set sheetName = ActiveSheet
    sheetName = sheetName.Range("B1").Value
        
    ChDir "D:\energy_EV\ex_energy_EV"
    ActiveWorkbook.SaveAs Filename:="D:\energy_EV\ex_energy_EV\Test" & sheetName & ".xls"
        
End Sub
ช่วยแก้ให้ด้วยครับ

Re: ต้องการเชพไฟล์โดยใส่ชื่อในเซล D1

Posted: Tue Apr 14, 2020 10:16 pm
by snasui
:D ตัวอย่างการปรับ Code ครับ

Code: Select all

'Other code
Dim sh As Worksheet, bkName As String
ActiveSheet.Move

Set sh = ActiveSheet
bkName = sh.Range("d1").Value
    
ChDir "D:\energy_EV\ex_energy_EV"
ActiveWorkbook.SaveAs Filename:="D:\energy_EV\ex_energy_EV\Test" & bkName & ".xls"

Re: ต้องการเชพไฟล์โดยใส่ชื่อในเซล D1

Posted: Tue Apr 14, 2020 11:31 pm
by yodpao.b
เรียนอาจารย์ครับ
เครื่องฟ้อง Error ส่วนใหญ่เมื่อมีการย้าย sheet ครับ
ไม่เกี่ยวกับโคดนะครับ เพราะย้ายหน้าไปไว้สมุดงานอื่นก็เป็นครับโดยไม่ใช้โคด
จากรูป
1.PNG
พอทราบไม่ครับ

Re: ต้องการเชพไฟล์โดยใส่ชื่อในเซล D1

Posted: Wed Apr 15, 2020 12:16 am
by yodpao.b
ตอนนี้ code ใช้ได้แล้วครับอาจารย์

แต่อย่าลืมตอบโพสต์ที่ 3 ด้วยนะครับ
ขอบคุณครับ

Re: ต้องการเชพไฟล์โดยใส่ชื่อในเซล D1

Posted: Wed Apr 15, 2020 7:26 am
by snasui
yodpao.b wrote: Tue Apr 14, 2020 11:31 pm เรียนอาจารย์ครับ
เครื่องฟ้อง Error ส่วนใหญ่เมื่อมีการย้าย sheet ครับ
ไม่เกี่ยวกับโคดนะครับ เพราะย้ายหน้าไปไว้สมุดงานอื่นก็เป็นครับโดยไม่ใช้โคด
จากรูป
1.PNG
พอทราบไม่ครับ
:D ลง Add-ins อะไรไว้บ้างครับ

Re: ต้องการเชพไฟล์โดยใส่ชื่อในเซล D1

Posted: Thu Apr 30, 2020 7:24 pm
by yodpao.b
ฟ้อง error อีกแล้วครับ
1.PNG
บัคที่ code ตอน move sheet ครับ
บัคที่ code

Code: Select all

ActiveSheet.Move

Code: Select all

Sub Macro2_MoveToNewSave()

'Windows("test_meter.xlsm").Activate

Dim sh As Worksheet, bkName As String
        
Dim WS As Worksheet
Set WS = ActiveSheet
WS.Name = "data"    'à»ÅÕ蹪×èÍ sheet

ActiveSheet.Move
'Move the active sheet to a new Workbook.

Set sh = ActiveSheet
bkName = sh.Range("M3").Value
'SaveAs Filename ª×èÍã¹à«Å

ChDir "D:\energy_EV\ex_energy_EV"
'ActiveWorkbook.SaveAs Filename:="D:\energy_EV\ex_energy_EV\Test" & bkName & ".xls"
ActiveWorkbook.SaveAs Filename:="D:\energy_EV\ex_energy_EV\newmonth\" & bkName & ".xlsx"

End Sub
Addin ที่ใช้ครับ
2.PNG
3.PNG
เปิดไฟแล้วสั่ง code ให้ new move ทำได้ครับ
แต่พอสั่ง new move อีกครั้ง ฟ้อง eeror
ปิดไฟล์และเปิดใหม่ ผลที่ได้เหมือนรอบแรก ทำได้ครั้งเดียวครับ

Re: ต้องการเชพไฟล์โดยใส่ชื่อในเซล D1

Posted: Thu Apr 30, 2020 8:39 pm
by yodpao.b
ขอโทษจริงๆครับ
code run ได้ตามปกติแล้วครับ
หลังจากเข้าไปเปิดดู addin
แต่ผมไม่ได้ตั้งค่าใดๆเลย