From: Ladymuck on 27 Feb 2010 09:59 I'm stuck on the best way to prompt the user to open another workbook and select a worksheet to be copied into the file containing the macro. Ideally, I would hardcode the name of the target worksheet, leaving the user to just locate the right file. However, I need to include something that will also allow the user to select the specific worksheet to copy, just in case there's been some unauthorised tinkering. Is this possible? Many thanks for your help
From: Dave Peterson on 27 Feb 2010 10:36 How about a compromise? Tell the user to open the "sending" workbook first, then you can ask them to use the mouse (and the window menu if need be) to select a range that is on that worksheet. Option Explicit Sub testme() Dim OtherWks As Worksheet Set OtherWks = Nothing On Error Resume Next 'in case they hit cancel Set OtherWks = Application.InputBox _ (Prompt:="Use the window option on the menubar/ribbon " _ & "to change workbooks", _ Title:="Select a cell on the sheet to be used", _ Type:=8).Parent 'the worksheet with the range On Error GoTo 0 If OtherWks Is Nothing Then MsgBox "try later" Exit Sub End If MsgBox OtherWks.Name & vbLf & OtherWks.Parent.Name End Sub ============ Another (classier!) way to do it is to create a userform. You could use two comboboxes (one for the workbook name and one for the worksheet names in that workbook) or just use a single combobox and include both the workbook and worksheet name in that dropdown. If you want to see how that could be done... Look at Myrna Larson and Bill Manville's compare program: http://www.cpearson.com/excel/whatsnew.htm look for compare.xla The code is unprotected, so you could "borrow" as much as you like! Ladymuck wrote: > > I'm stuck on the best way to prompt the user to open another workbook and > select a worksheet to be copied into the file containing the macro. Ideally, > I would hardcode the name of the target worksheet, leaving the user to just > locate the right file. > > However, I need to include something that will also allow the user to select > the specific worksheet to copy, just in case there's been some unauthorised > tinkering. > > Is this possible? > > Many thanks for your help -- Dave Peterson
|
Pages: 1 Prev: VBA forms in excel Next: Shift Roster on Excel, pls help |