ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Test to see if selected range is single row? (https://www.excelbanter.com/excel-programming/385616-test-see-if-selected-range-single-row.html)

davegb

Test to see if selected range is single row?
 
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!


RB Smissaert

Test to see if selected range is single row?
 
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!



Zone[_2_]

Test to see if selected range is single row?
 
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!




Vergel Adriano

Test to see if selected range is single row?
 
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!



davegb

Test to see if selected range is single row?
 
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 -




Dave Peterson

Test to see if selected range is single row?
 
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

davegb

Test to see if selected range is single row?
 
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





All times are GMT +1. The time now is 10:30 AM.

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