ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   ask user to select a target sheet as an input for a macro (https://www.excelbanter.com/excel-programming/404430-ask-user-select-target-sheet-input-macro.html)

Yossi evenzur[_2_]

ask user to select a target sheet as an input for a macro
 
How or what is the vba syntax if i want the user to select a atrget sheet for
a macro as an input?

Rick Rothstein \(MVP - VB\)

ask user to select a target sheet as an input for a macro
 
What about having your user kick off the macro from the sheet he/she wants
it to operate on? Then you can use ActiveSheet inside your macro to
reference it.

Rick


"Yossi evenzur" wrote in message
...
How or what is the vba syntax if i want the user to select a atrget
sheet for a macro as an input?



Rick Rothstein \(MVP - VB\)

ask user to select a target sheet as an input for a macro
 
Another possibility... Execute this statement in your macro at the point you
want to get the sheet name...

Answer = InputBox("Tell me a sheet name")

and then reference that sheet in your code using this Worksheets(Answer). As
an example...

Worksheets(Answer).Range("D4").Value = "Hello"

You will probably need to put some error checking code in just in case your
user types the sheet name in wrong though.

Rick


"Yossi evenzur" wrote in message
...
How or what is the vba syntax if i want the user to select a atrget
sheet for a macro as an input?



Yossi evenzur[_2_]

ask user to select a target sheet as an input for a macro
 
Hi
It dosen't matter, the problem is that both the target and source sheets
have different names each time. in general i want to open an excel workbook
with two sheets (different names each time and no i need these names to stay
as they are) in the first sheet i add row and vlookup at the second sheet.
any better ideas?

"Rick Rothstein (MVP - VB)" wrote:

What about having your user kick off the macro from the sheet he/she wants
it to operate on? Then you can use ActiveSheet inside your macro to
reference it.

Rick


"Yossi evenzur" wrote in message
...
How or what is the vba syntax if i want the user to select a atrget
sheet for a macro as an input?




Yossi evenzur[_2_]

ask user to select a target sheet as an input for a macro
 
Hi Rick
Please take a look at the following:
1)
Answer = InputBox("Tell me a sheet name")

'the Answer is"XXXX"

ActiveCell.FormulaR1C1 = _
"=VLOOKUP(R[1]C,'"What do I put HERE ???"'!R2C1:R255C3,3,FALSE)"

2) why can't i simply (simply?) click on the sheet?

"Rick Rothstein (MVP - VB)" wrote:

Another possibility... Execute this statement in your macro at the point you
want to get the sheet name...

Answer = InputBox("Tell me a sheet name")

and then reference that sheet in your code using this Worksheets(Answer). As
an example...

Worksheets(Answer).Range("D4").Value = "Hello"

You will probably need to put some error checking code in just in case your
user types the sheet name in wrong though.

Rick


"Yossi evenzur" wrote in message
...
How or what is the vba syntax if i want the user to select a atrget
sheet for a macro as an input?




Dave Peterson

ask user to select a target sheet as an input for a macro
 
Dim wks as worksheet

set wks = nothing
on error resume next
set wks = application.inputbox _
(Prompt:="please click on a cell in the worksheet to use", type:=8).parent
on error resume next

if wks is nothing then
'user hit cancel, what should happen
else
msgbox wks.name
end if

You may want to consider creating a userform that displays the worksheet names
(in comboboxes??) and allow the user to select the sheet from that list.

If you want to try, take a look at the userform in Myrna Larson and Bill
Manville's compare program:

http://www.cpearson.com/excel/whatsnew.htm
look for compare.xla

Yossi evenzur wrote:

How or what is the vba syntax if i want the user to select a atrget sheet for
a macro as an input?


--

Dave Peterson

Rick Rothstein \(MVP - VB\)

ask user to select a target sheet as an input for a macro
 
1) You would use this formula...

ActiveCell.FormulaR1C1 = "=VLOOKUP(R[1]C," & Answer &
"!R2C1:R255C3,3,FALSE)"

2) If you had them click on the sheet tab, then that sheet would be selected
and you would have the situation I mentioned in my previous reply, only
delayed slightly... ActiveSheet would tell you what sheet they were on. Here
is another thought... if you know they will have to change sheets to make
your macro work (that is, the look up data is never going to be on the page
they are on when the macro is launched, then perhaps you could make use of
the Workbook's SheetActivate event to get recognize the new sheet had been
selected and get the sheet name from its Sh argument?

Rick


"Yossi evenzur" wrote in message
...
Hi Rick
Please take a look at the following:
1)
Answer = InputBox("Tell me a sheet name")

'the Answer is"XXXX"

ActiveCell.FormulaR1C1 = _
"=VLOOKUP(R[1]C,'"What do I put HERE ???"'!R2C1:R255C3,3,FALSE)"

2) why can't i simply (simply?) click on the sheet?

"Rick Rothstein (MVP - VB)" wrote:

Another possibility... Execute this statement in your macro at the point
you
want to get the sheet name...

Answer = InputBox("Tell me a sheet name")

and then reference that sheet in your code using this Worksheets(Answer).
As
an example...

Worksheets(Answer).Range("D4").Value = "Hello"

You will probably need to put some error checking code in just in case
your
user types the sheet name in wrong though.

Rick


"Yossi evenzur" wrote in message
...
How or what is the vba syntax if i want the user to select a atrget
sheet for a macro as an input?






All times are GMT +1. The time now is 05:13 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com