ขออนุญาตสอบถามการเปลี่ยนชื่อ workbook ด้วย VBA
Posted: Sat Jan 13, 2024 10:57 pm
ขออนุญาตสอบถามกรณีต้องการเปลี่ยนชื่อ workbook ด้วยค่าใน cell ที่กำหนด โดยผมเขียนคำสั่งให้สร้างโฟล์เดอร์ใหม่และให้สร้าง workbook ชื่อ report.xlsx เก็บไว้ หลังจากนั้นให้ copy ค่าใน workbook ชื่อ copymoney ชีท cost ตั้งแต่ A3:Y3 มาวางใน A1 ของ workbook ที่สร้างไว้ ใน sheet1 ที่ A1 หลังจากนั้นเปลี่ยนชื่อ sheet ด้วยค่า A1 ตรงนี้คำสั่งทำงานได้ ]tผมเขียนให้เปลี่ยนชื่อ report เป็นค่าตาม A1 แต่คำสั่งไม่ทำงาน ยังเปิด workbook ชื่อ report ขึ้นมา อยากรบกวนขอวิธีแก้ไขให้สามารถเปลี่ยนชือ workbook ได้และวิธีไม่ให้เปิิด workbook ที่เปลี่ยนชื่อขึ้นมา ขอบพระคุณครับ
Code: Select all
Sub MakeMyFolder()
Dim path As String, DocName As String
Dim fdObj As Object
Dim mybook As Workbook
Set wksht = ActiveSheet
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Set fdObj = CreateObject("Scripting.FileSystemObject")
If fdObj.FolderExists("C:\Cost_Report\") Then
Else
fdObj.CreateFolder ("C:\Cost_Report\")
End If
path = "C:\Cost_Report"
DocName = "Report"
If Dir(path & "\" & DocName & ".xlsx") = "" Then
Workbooks.Add
ActiveWorkbook.SaveAs path & "\" & DocName & ".xlsx"
End If
Workbooks.Open "C:\Cost_Report\Report.xlsx"
Workbooks("copymoney.xlsm").Worksheets("cost").Range("A3:Y3").Copy
Workbooks("Report.xlsx").Worksheets("sheet1").Range("A1").PasteSpecial Paste:=xlPasteValues
ActiveSheet.Name = ActiveSheet.Range("A1").Value
ActiveWorkbook.SaveAs Filename:=path & wksht.Range("A3").Value & ".xlsx"
'ActiveWorkbook.Worksheets("Report").Name = Worksheets("Report").Range("A3").Value
Worksheets("Report").Name = Worksheets("Report").Range("A1").Value
ActiveWorkbook.Close SaveChanges:=True
Application.DisplayAlerts = True
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub