帶有巨集的 Excel 工作表 - 只需儲存資料?

帶有巨集的 Excel 工作表 - 只需儲存資料?

我有一個 Excel 工作表,其中內建了一些宏,可以從資料庫中取得一些資料。我想保存 Excel 工作表並將其發送給某人,同時仍保留資料。但是,由於它使用宏,因此當我發送文件時資料會丟失,因為它無法連接到資料庫。

有沒有辦法可以在沒有巨集的情況下保存/發送此文件,以便資料都是靜態的?

答案1

儲存為 .csv 檔案應僅保留儲存格的資料值,而不保留其他內容(甚至不保留公式)。然後,如果您喜歡該格式,可以將新的 .csv 檔案另存為 .xls 檔案。

答案2

這是將為您保存文件的程式碼:

Option Explicit

Sub SaveValuesToDisconnectedFile()
    Sheets("Sheet1").Copy
    Sheets("Sheet1").Name = "DataFromDB"
    ActiveSheet.UsedRange.Copy
    Range("A1").PasteSpecial Paste:=xlPasteValues
    ActiveWorkbook.SaveAs Filename:="C:\Temp\Offline Data.xlsx" _
        , FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
End Sub

將“Sheet1”替換為包含資料的工作表的名稱。您也可以將路徑替換為要儲存檔案的位置。

請注意,如果執行兩次,則該檔案將已經存在,因此系統會提示您取消或覆寫現有檔案。

相關內容