
Eu tenho uma planilha do Excel com algumas macros integradas para obter alguns dados de um banco de dados. Gostaria de salvar a planilha do Excel e enviá-la para alguém, mantendo os dados. Porém, por usar macros, os dados se perdem quando envio o arquivo, pois ele não consegue se conectar ao banco de dados.
Existe uma maneira de salvar/enviar este arquivo sem as macros instaladas para que os dados fiquem todos estáticos?
Responder1
Salvar como um arquivo .csv deve manter apenas os valores dos dados das células e nada mais (nem mesmo fórmulas). Depois, você pode salvar como um arquivo .xls a partir do seu novo arquivo .csv, se preferir esse formato.
Responder2
Aqui está o código que salvará o arquivo para você:
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
Substitua “Planilha1” pelo nome da planilha que contém seus dados. Você também pode substituir o caminho onde deseja que o arquivo seja salvo.
Observe que se você executar isso duas vezes, o arquivo já existirá, então você será solicitado a cancelar ou substituir o arquivo existente.