Convert negative values treated as text using VBA in Microsoft Excel


In this article, we will create a custom-function to convert negative strings to an integer.

Raw data for this article consists of strings followed by a minus sign (-).


We want to convert these strings to integers.


Logic explanation

In this article, we have created a custom-function ConvertNegNumbers to convert the string to integer. This function takes string value as input and returns integer as output.

Code explanation

Right(Var, 1) = “-”

The above code is used to check whether last character of the string is equal to minus sign (-).

ConvertNegNumbers = CInt(“-” & Left(Var, Len(Var) – 1))

In above code, the left function is used to extract all the characters in the string, except the last one. The CInt function is used to convert string value to integer.


Please follow below for the code

Option Explicit

Function ConvertNegNumbers(Var As String)

'Checking whether last character in the string is minus(-)
If Right(Var, 1) = "-" Then
    'Converting string value to negative integer
    ConvertNegNumbers = CInt("-" & Left(Var, Len(Var) - 1))

    'Converting string value to integer
    ConvertNegNumbers = CInt(Var)
End If

End Function


If you liked this blog, share it with your friends on Facebook. Also, you can follow us on Twitter and Facebook.

We would love to hear from you, do let us know how we can improve our work and make it better for you. Write to us at

Leave a Reply

Your email address will not be published. Required fields are marked *


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>