[英]VBA Excel save .xlsx file with the flexible name
我想用靈活的名稱保存我的文件,該名稱將隨着單元格值的變化而變化。
一個答案在這里:
但是,我還需要名稱的一些固定部分,與上面查詢中描述的部分不同,它不會改變。
基於此解決方案,我嘗試編寫如下內容:
Sub Save ()
Dim name As String, Custom_Name As String
name = Range("A2").Value
Custom_Name = "NBU" & name & "- Opportunity list.xlsx"
ActiveWorkbook.SaveAs Filename:=Custom_Name
結果,我收到一個錯誤:
此擴展名不能與選定的文件類型一起使用。 在文件名文本框中更改文件擴展名,或通過更改保存類型來選擇不同類型的文件。
我想在 .xlsx 擴展名中有這個文件。
上面的答案並不符合我的情況。 如果可能,刪除新保存文件中的所有表單控制按鈕至關重要。
感謝和問候,
End Sub
列出的例程中沒有保存文件的操作。 它只是簡單地獲取單元格的內容並創建一個帶有包裝值的字符串。
我不完全確定您的目標是什么,但您需要從您提供的第二個鏈接添加操作。 Workbook.SaveAs 方法。
有關我為測試而創建的工作示例,請參閱下面的代碼。
Public Sub Save()
Dim name As String, Custom_Name As String
name = Range("A2").Value
Custom_Name = ThisWorkbook.Path & "\" & "NBU" & name & " - Opportunity list.xlsx"
'Disable alert when saving
Application.DisplayAlerts = False
'Save the workbook.
ActiveWorkbook.SaveAs Filename:=Custom_Name, FileFormat:=51
End Sub
您應該注意,在執行此代碼后,您現在將位於新創建的文件中。 這不是出口。
測試一下,如果您有任何問題,請告訴我。 您的代碼中有一些似乎是不必要的,但如果您發現這可以解決您的第一個問題,我們可以解決這些問題。
我也會專門調用帶有范圍的工作表。
name = Worksheets("Sheet1").Range("A2")
你說文件名是'Opportunity v1.0.xslm'。 會有宏嗎? 如果工作簿中有代碼,我的 Excel 版本會抱怨使用 .xlsx。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.