
데이터베이스에서 일부 데이터를 가져오기 위해 일부 매크로가 내장된 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"을 데이터가 포함된 시트의 이름으로 바꿉니다. 파일을 저장할 위치로 경로를 바꿀 수도 있습니다.
이 작업을 두 번 실행하면 파일이 이미 존재하므로 기존 파일을 취소하거나 덮어쓰라는 메시지가 표시됩니다.