ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   FORMULA (https://www.excelbanter.com/excel-programming/361102-formula.html)

NAVYCHIEF

FORMULA
 
I need a formula that performs the following:

When the user enters a letter I want a number displayed. i.e. A=1, b=2
etc....

So if the user would enter BAD.......214 would be displayed/returned.

K Dales[_2_]

FORMULA
 
The following assumes you want the results as a text string; if you want an
actual number you could use the Val() function (or VALUE in a worksheet
function):

Public Function AlphaToNum(Alpha As String) As String
Dim UCAlpha As String, i As Integer
AlphaToNum = ""
UCAlpha = UCase(Alpha)
For i = 1 To Len(UCAlpha)
AlphaToNum = AlphaToNum & Asc(Mid(UCAlpha, i, 1)) - 64
Next i
End Function
--
- K Dales


"NAVYCHIEF" wrote:

I need a formula that performs the following:

When the user enters a letter I want a number displayed. i.e. A=1, b=2
etc....

So if the user would enter BAD.......214 would be displayed/returned.


Bob Phillips[_14_]

FORMULA
 
'-----------------------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
'-----------------------------------------------------------------
Const WS_RANGE As String = "A1"
Dim i As Long
Dim tmp As String

On Error GoTo ws_exit:
Application.EnableEvents = False
If Not Intersect(Target, Me.Range(WS_RANGE)) Is Nothing Then
For i = 1 To Len(Target.Value)
Select Case Mid(Target.Value, i, 1)
Case "A": tmp = tmp & "1"
Case "B": tmp = tmp & "2"
Case "C": tmp = tmp & "3"
'etc
End Select
Next i
Target.Value = tmp
End If

ws_exit:
Application.EnableEvents = True
End Sub

'This is worksheet event code, which means that it needs to be
'placed in the appropriate worksheet code module, not a standard
'code module. To do this, right-click on the sheet tab, select
'the View Code option from the menu, and paste the code in.




--
HTH

Bob Phillips

(remove xxx from email address if mailing direct)

"NAVYCHIEF" wrote in message
...
I need a formula that performs the following:

When the user enters a letter I want a number displayed. i.e. A=1, b=2
etc....

So if the user would enter BAD.......214 would be displayed/returned.





All times are GMT +1. The time now is 03:34 AM.

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