Home |
Search |
Today's Posts |
#1
|
|||
|
|||
Reversing cell values
how do I reverse the values of a cell (eg. 1234 becomes 4321)???
|
#2
|
|||
|
|||
"ac512" wrote in message
... how do I reverse the values of a cell (eg. 1234 becomes 4321)??? Try this UDF (from John Walkenbach's site) in a plain VBA module: Function Reverse(InString) As String 'UDF to reverse string - John W Dim i As Integer Dim StringLength As Integer Reverse = "" StringLength = Len(InString) For i = StringLength To 1 Step -1 Reverse = Reverse & Mid(InString, i, 1) Next i End Function HTH, Andy |
#3
|
|||
|
|||
And if you're using xl2k or higher, you can use a builtin VBA function:
Option Explicit Function Reverse2(InString) As String Reverse2 = StrReverse(InString) End Function Andy Brown wrote: "ac512" wrote in message ... how do I reverse the values of a cell (eg. 1234 becomes 4321)??? Try this UDF (from John Walkenbach's site) in a plain VBA module: Function Reverse(InString) As String 'UDF to reverse string - John W Dim i As Integer Dim StringLength As Integer Reverse = "" StringLength = Len(InString) For i = StringLength To 1 Step -1 Reverse = Reverse & Mid(InString, i, 1) Next i End Function HTH, Andy -- Dave Peterson |
#4
|
|||
|
|||
Thank you both very much for your assistance!
Much appreciated "ac512" wrote: how do I reverse the values of a cell (eg. 1234 becomes 4321)??? |
#5
|
|||
|
|||
this works perfectly, except for the fact that if a number ends in one or
more zeros, the zeros are dropped off "Andy Brown" wrote: "ac512" wrote in message ... how do I reverse the values of a cell (eg. 1234 becomes 4321)??? Try this UDF (from John Walkenbach's site) in a plain VBA module: Function Reverse(InString) As String 'UDF to reverse string - John W Dim i As Integer Dim StringLength As Integer Reverse = "" StringLength = Len(InString) For i = StringLength To 1 Step -1 Reverse = Reverse & Mid(InString, i, 1) Next i End Function HTH, Andy |
#6
|
|||
|
|||
That's odd. Both functions kept the leading zeros for me. (xl2003)
That's when I called it from a worksheet cell: =reverse(a1) or =reverse2(a1) But if I called it from a sub and populated another cell, I lost the leading 0's. Sub testme() Range("B1").Value = Reverse(Range("a1")) End Sub But you could do this: Sub testme2() Range("B1").Value = "'" & Reverse(Range("a1")) End Sub or even: Sub testme3() With Range("B1") .NumberFormat = "@" .Value = Reverse(Range("a1")) End With End Sub ac512 wrote: this works perfectly, except for the fact that if a number ends in one or more zeros, the zeros are dropped off "Andy Brown" wrote: "ac512" wrote in message ... how do I reverse the values of a cell (eg. 1234 becomes 4321)??? Try this UDF (from John Walkenbach's site) in a plain VBA module: Function Reverse(InString) As String 'UDF to reverse string - John W Dim i As Integer Dim StringLength As Integer Reverse = "" StringLength = Len(InString) For i = StringLength To 1 Step -1 Reverse = Reverse & Mid(InString, i, 1) Next i End Function HTH, Andy -- Dave Peterson |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
up to 7 functions? | Excel Worksheet Functions | |||
Split cell values based on content | Excel Worksheet Functions | |||
how can I select two different values for a cell? | Excel Worksheet Functions | |||
limit choice in cell to one of two values; | Excel Discussion (Misc queries) | |||
Stumped! Collecting values into one cell. | Excel Worksheet Functions |