Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Changing date format in row one

Posted on 2014-11-12
7
Medium Priority
?
86 Views
Last Modified: 2014-11-13
Hi,
I get emailed a workbook each week with updated figures that we have to ship to the customer.
Problem is, that the dates in row 1 have the following format '141112' etc etc. meaning 12/11/14 and so on.
Is there a formula or maybe vba code that I could use that would change the dates around to read 12/11/14 etc instead of 141112 ?
I have attached the workbook in question.
Your help as always is much appreciated.
wk-46.xlsx
0
Comment
Question by:Stephen Byrom
7 Comments
 
LVL 25

Expert Comment

by:NVIT
ID: 40438640
Are row 1 items from columns X and on also dates?

This works for columns E to W only:
Open your xls.
Save as .txt.
Open the .txt. The Import wizard should start.
Pick Comma delimiter.
Change Column data format to YMD.
Scroll to right and select columns E to W.
Finish.
0
 
LVL 48

Expert Comment

by:Wayne Taylor (webtubbs)
ID: 40438844
Is that format YYMMDD? If so, use this formula...

     =DATE(LEFT(A1, 2)+100, MID(A1, 3, 2), RIGHT(A1, 2))

...where A1 contains your date.
0
 
LVL 48

Expert Comment

by:Wayne Taylor (webtubbs)
ID: 40438859
If it's VBA you are after, select the cells to modify then run this macro...

Sub ChangeDateFormat()

    Dim cell As Range
    For Each cell In Selection
        If Len(cell) = 6 Then
            cell = DateSerial(Left(cell, 2), Mid(cell, 3, 2), Right(cell, 2))
        End If
    Next
    
End Sub

Open in new window

0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 7

Expert Comment

by:tomfarrar
ID: 40438862
So the month is the last 2 digits on the right?  

Does that make sense for column F value 141113?  That would be month 13, or Jan 11, 2015?  Is that what you are saying?  

Also what is with 141201-49-W "date" starting in Column X?  Thanks.
0
 
LVL 18

Accepted Solution

by:
krishnakrkc earned 2000 total points
ID: 40439146
Select the date range and run this macro.

Sub kTest()
    
    Dim x   As String
    
    With Selection
        x = .Address
        .Value = Evaluate("if(len(" & x & "),text(text((20&left(" & x & ",6))+0,""0000-00-00"")+0,""dd/mm/yyyy"")&if(len(" & x & ")>6,mid(" & x & ",7,25),""""),"""")")
    End With
    
End Sub

Open in new window


Kris
0
 
LVL 1

Author Comment

by:Stephen Byrom
ID: 40439241
Thanks a lot for all the comments, I will try them out when I get to work. Regarding Tom's question about " ...Also what is with 141201-49-W "date" starting in Column X?"  The week number gets added once the dates get so far out. And I should have pointed out that the dates are European not American so the last two digits of the block of six are the days and the middle two are the month
0
 
LVL 1

Author Closing Comment

by:Stephen Byrom
ID: 40439730
Thanks a lot to all that contributed, but Kris gets the gold star. I can 'trim' the cells that contain week numbers before I run the macro.
Thanks again for your time
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

This article describes a serious pitfall that can happen when deleting shapes using VBA.
After seeing numerous questions for Dynamic Data Validation I notice that most have used Visual Basic to solve the problem. This suggestion is purely formula based and can be used in multiple rows.
This Micro Tutorial will demonstrate in Google Sheets how to use the HYPERLINK function to create live links inside your spreadsheet.
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa‚Ķ

886 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