![]() |
Trying to use VBA to save a copy of a workbook
Hello,
I'm trying to use VBA to save a copy of a workbook, I want to just save the values not all the formulas and links. So I've got the macro to copy the sheet and then paste special with values only and then I want to Save it. I want to be prompted where to save it. I've tried using activeworkbook.close but because I have a workbook before close event macro it just closes without saving the changes. Is there anyway I can either stop the before close macro running or can I get SaveCopyAs to ask for a filename |
Trying to use VBA to save a copy of a workbook
Try something like
Sub DoSave() Dim FName As Variant FName = Application.GetOpenFilename("Excel Files (*.xls),*.xls") If FName = False Then ' user cancelled. Exit Sub Else If Dir(FName) < vbNullString Then ' file exists If MsgBox("File: " & FName & _ " already exists. Overwrite it?", vbYesNo) = vbYes Then Kill FName Else ' don't overwrite existing file Exit Sub End If End If ThisWorkbook.SaveCopyAs Filename:=FName End If End Sub -- Cordially, Chip Pearson Microsoft MVP - Excel Pearson Software Consulting, LLC www.cpearson.com (email address is on the web site) "kfell" wrote in message ... Hello, I'm trying to use VBA to save a copy of a workbook, I want to just save the values not all the formulas and links. So I've got the macro to copy the sheet and then paste special with values only and then I want to Save it. I want to be prompted where to save it. I've tried using activeworkbook.close but because I have a workbook before close event macro it just closes without saving the changes. Is there anyway I can either stop the before close macro running or can I get SaveCopyAs to ask for a filename |
Trying to use VBA to save a copy of a workbook
Excellent, That works, Thanks a lot :)
"Chip Pearson" wrote: Try something like Sub DoSave() Dim FName As Variant FName = Application.GetOpenFilename("Excel Files (*.xls),*.xls") If FName = False Then ' user cancelled. Exit Sub Else If Dir(FName) < vbNullString Then ' file exists If MsgBox("File: " & FName & _ " already exists. Overwrite it?", vbYesNo) = vbYes Then Kill FName Else ' don't overwrite existing file Exit Sub End If End If ThisWorkbook.SaveCopyAs Filename:=FName End If End Sub -- Cordially, Chip Pearson Microsoft MVP - Excel Pearson Software Consulting, LLC www.cpearson.com (email address is on the web site) "kfell" wrote in message ... Hello, I'm trying to use VBA to save a copy of a workbook, I want to just save the values not all the formulas and links. So I've got the macro to copy the sheet and then paste special with values only and then I want to Save it. I want to be prompted where to save it. I've tried using activeworkbook.close but because I have a workbook before close event macro it just closes without saving the changes. Is there anyway I can either stop the before close macro running or can I get SaveCopyAs to ask for a filename |
All times are GMT +1. The time now is 02:00 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com