Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.misc
|
|||
|
|||
![]()
I would like to create a text mask to format really long account numbers like
010-12345-0-22200-11122-55555 the user types digits and they are treated as text and displayed with the dashes in the appropriate places |
#2
![]()
Posted to microsoft.public.excel.misc
|
|||
|
|||
![]()
Use Format Cells/Number/Custom
Type the number format: 000-00000-0-00000-00000-00000 or ###-#####-#-#####-#####-#####. The one with the zeros will hold the leading 000's on the front end. -- Thanks, Kevin "bryanp354" wrote: I would like to create a text mask to format really long account numbers like 010-12345-0-22200-11122-55555 the user types digits and they are treated as text and displayed with the dashes in the appropriate places |
#3
![]()
Posted to microsoft.public.excel.misc
|
|||
|
|||
![]()
Excel only keeps track of 15 significant digits. Everything after the 15th
digit will become a 0. You can preformat the cell as text or start with a leading apostrophe to get all the numbers to show. But then you'll have to format it manually. Actually, you could have a worksheet event looking to see if that cell needs to be reformatted. But you'll still have to enter the numbers as text (preformat the cell as Text or include a leading apostrophe: '1234123412341234123412 If you want to try this idea, rightclick on the worksheet tab that should have this behavior. Select view code. Paste this into the code window: Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) Dim myTempVal As Variant On Error GoTo errhandler: If Target.Cells.Count 1 Then Exit Sub If Intersect(Target, Me.Range("a:a")) Is Nothing Then Exit Sub If IsNumeric(Target.Value) = False Then Exit Sub myTempVal = CDec(Target.Value) Application.EnableEvents = False Target.Value = Format(myTempVal, "000-00000-0-00000-00000-00000") errhandler: Application.EnableEvents = True End Sub I used all of column A in this line: If Intersect(Target, Me.Range("a:a")) Is Nothing Then Exit Sub but you could use: If Intersect(Target, Me.Range("c7:g99")) Is Nothing Then Exit Sub If you're new to macros, you may want to read David McRitchie's intro at: http://www.mvps.org/dmcritchie/excel/getstarted.htm bryanp354 wrote: I would like to create a text mask to format really long account numbers like 010-12345-0-22200-11122-55555 the user types digits and they are treated as text and displayed with the dashes in the appropriate places -- Dave Peterson |
#4
![]()
Posted to microsoft.public.excel.misc
|
|||
|
|||
![]()
Dave, thanks a bunch... that's the best solution I've found yet!
"Dave Peterson" wrote: Excel only keeps track of 15 significant digits. Everything after the 15th digit will become a 0. You can preformat the cell as text or start with a leading apostrophe to get all the numbers to show. But then you'll have to format it manually. Actually, you could have a worksheet event looking to see if that cell needs to be reformatted. But you'll still have to enter the numbers as text (preformat the cell as Text or include a leading apostrophe: '1234123412341234123412 If you want to try this idea, rightclick on the worksheet tab that should have this behavior. Select view code. Paste this into the code window: Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) Dim myTempVal As Variant On Error GoTo errhandler: If Target.Cells.Count 1 Then Exit Sub If Intersect(Target, Me.Range("a:a")) Is Nothing Then Exit Sub If IsNumeric(Target.Value) = False Then Exit Sub myTempVal = CDec(Target.Value) Application.EnableEvents = False Target.Value = Format(myTempVal, "000-00000-0-00000-00000-00000") errhandler: Application.EnableEvents = True End Sub I used all of column A in this line: If Intersect(Target, Me.Range("a:a")) Is Nothing Then Exit Sub but you could use: If Intersect(Target, Me.Range("c7:g99")) Is Nothing Then Exit Sub If you're new to macros, you may want to read David McRitchie's intro at: http://www.mvps.org/dmcritchie/excel/getstarted.htm bryanp354 wrote: I would like to create a text mask to format really long account numbers like 010-12345-0-22200-11122-55555 the user types digits and they are treated as text and displayed with the dashes in the appropriate places -- Dave Peterson |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Create formula that will pull a value based on text in diff cell? | Excel Discussion (Misc queries) | |||
How change dimensions of data label text box in pie chart? | Charts and Charting in Excel | |||
How do I create multiple columns from a one-column list in Excel? | Excel Worksheet Functions | |||
Can I create and save a formula for text fields? | Excel Discussion (Misc queries) | |||
Formulas dealing with text data | Excel Worksheet Functions |