Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I have a macro that asks the user to highlight the first row of data
in the worksheet so it can find and separate the worksheet into several smaller sheets based on the identifier in the first column. I want to be sure that the user has only selected a single row in the input box before the rest of the macro executes. I could write code to get the row number for the top row of the selected range and the row number for the last row in the selected range and compare them, but this seems more complicated than it needs to be. Is there an easier way? Some kind of simple IF statement that tells the user to try again if there's more than one row in their selection? Thanks! |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
If Selection.Rows.Count 1 Then
RBS "davegb" wrote in message ups.com... I have a macro that asks the user to highlight the first row of data in the worksheet so it can find and separate the worksheet into several smaller sheets based on the identifier in the first column. I want to be sure that the user has only selected a single row in the input box before the rest of the macro executes. I could write code to get the row number for the top row of the selected range and the row number for the last row in the selected range and compare them, but this seems more complicated than it needs to be. Is there an easier way? Some kind of simple IF statement that tells the user to try again if there's more than one row in their selection? Thanks! |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
On Mar 19, 1:36 pm, "RB Smissaert"
wrote: If Selection.Rows.Count 1 Then RBS "davegb" wrote in message ups.com... Works great, Thanks! I have a macro that asks the user to highlight the first row of data in the worksheet so it can find and separate the worksheet into several smaller sheets based on the identifier in the first column. I want to be sure that the user has only selected a single row in the input box before the rest of the macro executes. I could write code to get the row number for the top row of the selected range and the row number for the last row in the selected range and compare them, but this seems more complicated than it needs to be. Is there an easier way? Some kind of simple IF statement that tells the user to try again if there's more than one row in their selection? Thanks!- Hide quoted text - - Show quoted text - |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
If Selection.Rows.Count1 or Selection.Areas.Count1 then
HTH, James "davegb" wrote in message ups.com... I have a macro that asks the user to highlight the first row of data in the worksheet so it can find and separate the worksheet into several smaller sheets based on the identifier in the first column. I want to be sure that the user has only selected a single row in the input box before the rest of the macro executes. I could write code to get the row number for the top row of the selected range and the row number for the last row in the selected range and compare them, but this seems more complicated than it needs to be. Is there an easier way? Some kind of simple IF statement that tells the user to try again if there's more than one row in their selection? Thanks! |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
If selection.Rows.Count1 then
Msgbox "Select only one row" Else 'process the selected row End if -- Hope that helps. Vergel Adriano "davegb" wrote: I have a macro that asks the user to highlight the first row of data in the worksheet so it can find and separate the worksheet into several smaller sheets based on the identifier in the first column. I want to be sure that the user has only selected a single row in the input box before the rest of the macro executes. I could write code to get the row number for the top row of the selected range and the row number for the last row in the selected range and compare them, but this seems more complicated than it needs to be. Is there an easier way? Some kind of simple IF statement that tells the user to try again if there's more than one row in their selection? Thanks! |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Instead of yelling at the user if he/she selected a range with multiple rows,
you could just take the top row: dim myRng as range set myrng = nothing on error resume next set myrng _ = application.inputbox(Prompt:="select a range",type:=8).areas(1).rows(1) on error goto 0 if myrng is nothing then 'user hit cancel else 'do what you want end if Or just the first cell -- or the entire row of the first cell -- or anything you want. davegb wrote: I have a macro that asks the user to highlight the first row of data in the worksheet so it can find and separate the worksheet into several smaller sheets based on the identifier in the first column. I want to be sure that the user has only selected a single row in the input box before the rest of the macro executes. I could write code to get the row number for the top row of the selected range and the row number for the last row in the selected range and compare them, but this seems more complicated than it needs to be. Is there an easier way? Some kind of simple IF statement that tells the user to try again if there's more than one row in their selection? Thanks! -- Dave Peterson |
#7
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
On Mar 19, 2:10 pm, Dave Peterson wrote:
Instead of yelling at the user if he/she selected a range with multiple rows, you could just take the top row: Actually, I wasn't going to yell at them... :) Interesting point. I just need to know that the word "Adams" is somewhere in the first row of the range they selected. If not, they need to try again. If so, we're good to go. Think I'll take your suggestion. Thanks, Dave! dim myRng as range set myrng = nothing on error resume next set myrng _ = application.inputbox(Prompt:="select a range",type:=8).areas(1).rows(1) on error goto 0 if myrng is nothing then 'user hit cancel else 'do what you want end if Or just the first cell -- or the entire row of the first cell -- or anything you want. davegb wrote: I have a macro that asks the user to highlight the first row of data in the worksheet so it can find and separate the worksheet into several smaller sheets based on the identifier in the first column. I want to be sure that the user has only selected a single row in the input box before the rest of the macro executes. I could write code to get the row number for the top row of the selected range and the row number for the last row in the selected range and compare them, but this seems more complicated than it needs to be. Is there an easier way? Some kind of simple IF statement that tells the user to try again if there's more than one row in their selection? Thanks! -- Dave Peterson |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
why is more than one cell selected with a single click? | Excel Discussion (Misc queries) | |||
Formula that will test text conditions in a single cell | Excel Worksheet Functions | |||
Running a Macro when a single cell is selected | Excel Discussion (Misc queries) | |||
Test for Single Character That is in an Array | Excel Worksheet Functions | |||
How can I test when any worksheet within a workbook is selected | Excel Programming |