Solved

VBA EXCEL - If only 3 digit in a cell add a 0 in the the start

Posted on 2016-08-09
4
59 Views
Last Modified: 2016-08-09
Hi Guys,

I got code block! so please help/advise

I have a cell that does a vlookup from another sheet and paste the value, but sadly the source is text formatet and is shown correctly and like this 0889 but after the paste of value its only 889 is there a way to change this?

I have done the formatting and that works but when i need to use the cell for other formulas where it 0889 is need it only uses the 3 digits ( 889 )

so i need to insert a 0 in the front if there is only 3 digits..


please advise

ps. sorry if this is confusing.

here is the code:
Sub Get_regnr_byuser()

    Dim username As String
    Dim regnr As String
    Dim system As String
    
    On Error GoTo Errmsg:
    
    'username = Range("user")
    username = Worksheets("Admin").Range("user").Value
    system = Worksheets("Admin").Range("System").Value
    
    
If Left(username, 3) = "b37" Then

    ' FIT

    'Set myrange = Worksheets("Medarbejder_Liste").Range("E:G")
     Set myrange = Range("Medarbejder_Liste!E:G")

    regnr = Application.WorksheetFunction.VLookup(username, myrange, 3, False)

Else

    ' HITS
    
    'Set myrange = Worksheets("Medarbejder_Liste").Range("D:G")
    Set myrange = Range("Medarbejder_Liste!D:G")
      
    regnr = Application.WorksheetFunction.VLookup(username, myrange, 4, False)
    

End If
    
    Worksheets("Admin").Range("reg").Value = regnr
    'Worksheets("Admin").Range("reg").NumberFormat = "0####" 'This formats the cell
    
    If regnr = "" Then
        GoTo Errmsg
    End If
    
    Exit Sub
    
Errmsg:


    Call err_exit
    

End Sub

Open in new window

0
Comment
Question by:Hakum
  • 2
4 Comments
 
LVL 32

Assisted Solution

by:Rob Henson
Rob Henson earned 250 total points
ID: 41748878
When referring to a cell containing the 3 digits use the TEXT function to make it 4 digits:

=TEXT(A2,"0000")

Thanks
Rob
0
 
LVL 29

Accepted Solution

by:
Subodh Tiwari (Neeraj) earned 250 total points
ID: 41748883
Please try this.....

Worksheets("Admin").Range("reg").NumberFormat = "@"
Worksheets("Admin").Range("reg").Value = regnr

Open in new window

0
 
LVL 1

Author Closing Comment

by:Hakum
ID: 41748888
Thank alot guys!!!! works like a charm Neeraj!
0
 
LVL 29

Expert Comment

by:Subodh Tiwari (Neeraj)
ID: 41749040
You're welcome Hakum! Glad to help.
And thanks for the feedback.
0

Featured Post

Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Recently Microsoft released a brand new function called CONCAT. It's supposed to replace its predecessor CONCATENATE. But how does it work? And what's new? In this article, we take a closer look at all of this - we even included an exercise file for…
Outlook Free & Paid Tools
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…

785 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question