ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Verify Column Letter Selected (https://www.excelbanter.com/excel-programming/428634-verify-column-letter-selected.html)

jutlaux

Verify Column Letter Selected
 
I have a inputbox that prompts the user to enter a column letter so that a
script can run on all data in that column. The problem I have is that user
some times fat fingers this and enters things like "A3" or "A3E" Is there
anyway to check to make sure what the user inputs is a valid column letter?



Dave Peterson

Verify Column Letter Selected
 
Don't use inputbox, use application.inputbox

dim myRng as range
set myrng = nothing
on error resume next
set myrng _
= application.inputbox(Prompt:="select a single cell", type:=8).cells(1)
on error goto 0

if myrng is nothing then
'user hit cancel, what should happen?
else
set myrng = myrng.entirecolumn
or maybe...
set myrng = intersect(myrng.parent.usedrange, myrng.entirecolumn)
'do something
end if



jutlaux wrote:

I have a inputbox that prompts the user to enter a column letter so that a
script can run on all data in that column. The problem I have is that user
some times fat fingers this and enters things like "A3" or "A3E" Is there
anyway to check to make sure what the user inputs is a valid column letter?


--

Dave Peterson

Jacob Skaria

Verify Column Letter Selected
 
Either use Application.Inputbox Type:=8 so that the user can select the range.

OR

Get the column as numbers and refer it as
Cells(row,column)

OR

If you are looking at last filled column use the below which will return
the last used column in row 1

lngLastCol = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column

--
If this post helps click Yes
---------------
Jacob Skaria


"jutlaux" wrote:

I have a inputbox that prompts the user to enter a column letter so that a
script can run on all data in that column. The problem I have is that user
some times fat fingers this and enters things like "A3" or "A3E" Is there
anyway to check to make sure what the user inputs is a valid column letter?



Rick Rothstein

Verify Column Letter Selected
 
If you are looking at last filled column use the below which will return
the last used column in row 1

lngLastCol = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column


Or use this code which will return the last filled in column no matter what
row it occurs in...

LastUsedCol = ActiveSheet.Cells.Find(What:="*", SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column

--
Rick (MVP - Excel)


"Jacob Skaria" wrote in message
...
Either use Application.Inputbox Type:=8 so that the user can select the
range.

OR

Get the column as numbers and refer it as
Cells(row,column)

OR

If you are looking at last filled column use the below which will return
the last used column in row 1

lngLastCol = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column

--
If this post helps click Yes
---------------
Jacob Skaria


"jutlaux" wrote:

I have a inputbox that prompts the user to enter a column letter so that
a
script can run on all data in that column. The problem I have is that
user
some times fat fingers this and enters things like "A3" or "A3E" Is there
anyway to check to make sure what the user inputs is a valid column
letter?





All times are GMT +1. The time now is 07:33 AM.

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