View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
JLGWhiz[_2_] JLGWhiz[_2_] is offline
external usenet poster
 
Posts: 1,565
Default How can I prompt user to select item and use as a variable

A ListBox or ComboBox would provide better control over the user input for a
date related entry. You can put it on a UserForm and use it like a pop up.
Make a public variable to capture the value of the control, whichever you
decide to use. i.e.

Public myVar = UserForm1.ComboBox1.Value

As for not overwriting the existing file, if the file exists, produce a
message box that tells the user what you want them to do, and use the Else
part of the If statement to exit the sub. i.e.

If Not objFSO.FileExists(strPath) Then
'Save as
Else
MsgBox "This file name already exists. Do something else"
End If

Or you can determine what to do and write the code to make it happen, taking
the user out of any decision making.

"RogerM" wrote in message
...
This is probably really easy, but I'm not figuring it out.

I have a macro that manipulates a spreadsheet. At the end of that process
I want to save the spreadsheet to a specific location with a specific
name. i.e.

Dim strMonth as String
Dim strPath as String

strMonth = InputBox("ask user to insert Month of report, i.e. January")
strPath = "S:\Management Reports\2009\StatusSummary_" & _
strMonth & ".xlsx"

Of Course, I don't want to use an InputBox since the user might not enter
the month correctly. I think I want a ComboBox that the user can select
from, but it would have to be created with VBA as the spreadsheet the user
will be working with is actually a csv file output from another program.

In addition to forcing the selection of a particular month by the user, I
need to check to make sure that filename isn't already in the destiation
folder.

For that I've come up with

Set objFSO = CreateObject("Scripting.FileSystemObject")

If Not objFSO.FileExists(strPath) Then


ActiveWorkbook.SaveAs Filename:= strPath, FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False

End If

But if the file does exist, I don't want the user to be presented with the
option of overwriting the existing file. How do I suppress the "file
exists" message box and prompt the user to take a different course of
action instead?

~ Roger