SAVE AS MACRO

N

Neil Holden

Please see below, this is a button for when pressed a save as dialog appears
with the name of whatever appears in C7 and the current date, but when i
press ok to save nothing happens!! Please help i'm so close to finishing.

Dim Response As String
Dim msg As String
Dim Style As String
Dim sFilename As String
Dim ans
Dim flToSave As Variant
Dim flName As String
Dim flFormat As Long


msg = "Are you sure you want to save the Smith quote?"
Style = vbYesNo + vbInformation + vbDefaultButton2

Response = MsgBox(msg, Style)
If Response = vbYes Then

flFormat = ActiveWorkbook.FileFormat

DefaultFolder = "M:\Design"
If Right(DefaultFolder, 1) <> "\" Then
DefaultFolder = DefaultFolder & "\"
End If

DefaultFilename = Range("C7")
If Right(UCase(DefaultFilename), 2) <> "XLS" Then
DefaultFilename = DefaultFilename & Format(Date, "ddmmyyyy") & ".xls"
'DefaultFilename = DefaultFilename & ".xls"
End If



'Create a FileDialog object as a File Picker dialog box.
Set fd = Nothing
Set fd = Application.FileDialog(msoFileDialogFilePicker)
With fd
..InitialFileName = DefaultFolder & DefaultFilename
..Filters.Add "Excel Files", "*.xls", 1
..Title = "Save File As..."
..Show
If .SelectedItems.Count = 0 Then
Exit Sub
End If
 
J

Jacob Skaria

Have you missed to copy the last few lines from Joel's code ?

Try with this line... which save the active workbook as the filename in the
variable

ActiveWorkbook.SaveAs Filename:=flToSave, FileFormat:=flFormat

If this post helps click Yes
 
J

Jacob Skaria

Please note the difference between the below two

ActiveWorkbook.SaveAs
will save the workbook which is active

ThisWorkbook.SaveAs
will save the workbook in which the macro is

If this post helps click Yes
 
P

Patrick Molloy

change

Dim Response As String


to

Dim Response As Long

because vbYes is a LONG not text
 
P

Patrick Molloy

after thjis line...
.Show

you need to actually save the file. All you did to this line was select a
name and a where, you still need to execute the save.

Why not use the Application method?

Sub saveFile()
Dim fn As String
fn = Application.GetSaveAsFilename()

If fn Then
ActiveWorkbook.SaveAs fn
End If

End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads

SAVE AS MACRO 4
PLEASE HELP!! SAVE MACRO 2
MACRO to Approve or Decline 2
EXCEL CONNECTED WITH OUTLOOK 1
INPUT BOX in excel 2003 2
Emailing in excel 2003 5
Excel 2003 help 1
SAVE AS MACRO 6

Top