簡體   English   中英

VBA Excel 使用靈活名稱保存 .xlsx 文件

[英]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 擴展名中有這個文件。

Excel VBA - 使用 .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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM