ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   =(TEXT(RIGHT(A1,4),"####")&(TEXT(LEFT(A1,4),"####" ))) (https://www.excelbanter.com/excel-programming/285543-%3D-text-right-a1-4-text-left-a1-4-a.html)

Rik 13

=(TEXT(RIGHT(A1,4),"####")&(TEXT(LEFT(A1,4),"####" )))
 
Does any one know how to make this affect a selected range? What I'm trying to do is take '20031216' and turn it into '12162003'. It only has to work with 8 digit numbers (dates). I'll admit I don't know what I'm doing, but the following code clears the selected cells. Or, is there a better way to take text dates(20031216) and turn them into something Excel can use as a date

On Error Resume Nex
Dim cel As Rang
Dim myVar As Rang
Set myVar = Selectio

For Each cel In myVa
If Left((Trim(cel)), 4) = "2003" The
cel.Value = Text(Right(cel, 4), "####") & (Text(Left(cel, 4), "####")
End I
Nex

With myVa
.NumberFormat = "########);[Red](########)
.Columns.AutoFi
End Wit
End Su

Any help would be appreciated.

Peter Atherton[_4_]

=(TEXT(RIGHT(A1,4),"####")&(TEXT(LEFT(A1,4),"####" )))
 
Rik

Try This
=DATE(RIGHT(A26,4),MID(A26,5,2),RIGHT(A26,2))

If you want to write a macro use the DateSerial funtion in
place of Excel'x DATE function

Regards
Peter

-----Original Message-----
Does any one know how to make this affect a selected

range? What I'm trying to do is take '20031216' and turn
it into '12162003'. It only has to work with 8 digit
numbers (dates). I'll admit I don't know what I'm doing,
but the following code clears the selected cells. Or, is
there a better way to take text dates(20031216) and turn
them into something Excel can use as a date?

On Error Resume Next
Dim cel As Range
Dim myVar As Range
Set myVar = Selection

For Each cel In myVar
If Left((Trim(cel)), 4) = "2003" Then
cel.Value = Text(Right(cel, 4), "####") & (Text

(Left(cel, 4), "####"))
End If
Next

With myVar
.NumberFormat = "########);[Red](########)"
.Columns.AutoFit
End With
End Sub

Any help would be appreciated.
.


JMay

=(TEXT(RIGHT(A1,4),"####")&(TEXT(LEFT(A1,4),"####" )))
 
=DATE(RIGHT(A26,4),MID(A26,5,2),RIGHT(A26,2))

so/be =DATE(LEFT(A26,4),MID(A26,5,2),RIGHT(A26,2))

I know Peter would agree.


"Peter Atherton" wrote in message
...
Rik

Try This
=DATE(RIGHT(A26,4),MID(A26,5,2),RIGHT(A26,2))

If you want to write a macro use the DateSerial funtion in
place of Excel'x DATE function

Regards
Peter

-----Original Message-----
Does any one know how to make this affect a selected

range? What I'm trying to do is take '20031216' and turn
it into '12162003'. It only has to work with 8 digit
numbers (dates). I'll admit I don't know what I'm doing,
but the following code clears the selected cells. Or, is
there a better way to take text dates(20031216) and turn
them into something Excel can use as a date?

On Error Resume Next
Dim cel As Range
Dim myVar As Range
Set myVar = Selection

For Each cel In myVar
If Left((Trim(cel)), 4) = "2003" Then
cel.Value = Text(Right(cel, 4), "####") & (Text

(Left(cel, 4), "####"))
End If
Next

With myVar
.NumberFormat = "########);[Red](########)"
.Columns.AutoFit
End With
End Sub

Any help would be appreciated.
.




Rik 13

Thank You!
 
Thanks guys! It took about an hour for me to guess the syntax, but I got it & it works great. I really appreciate it.

Dave Peterson[_3_]

=(TEXT(RIGHT(A1,4),"####")&(TEXT(LEFT(A1,4),"####" )))
 
If your data is in a single column, you may want to record a macro when you do
Data|Text to columns. You can specify that's it's a date in ymd format. After
that, you can just format it as a custom date mmddyyyy.



Rik 13 wrote:

Does any one know how to make this affect a selected range? What I'm trying to do is take '20031216' and turn it into '12162003'. It only has to work with 8 digit numbers (dates). I'll admit I don't know what I'm doing, but the following code clears the selected cells. Or, is there a better way to take text dates(20031216) and turn them into something Excel can use as a date?

On Error Resume Next
Dim cel As Range
Dim myVar As Range
Set myVar = Selection

For Each cel In myVar
If Left((Trim(cel)), 4) = "2003" Then
cel.Value = Text(Right(cel, 4), "####") & (Text(Left(cel, 4), "####"))
End If
Next

With myVar
.NumberFormat = "########);[Red](########)"
.Columns.AutoFit
End With
End Sub

Any help would be appreciated.


--

Dave Peterson



All times are GMT +1. The time now is 10:48 AM.

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