PrashanthKumar123
New Member
- Joined
- May 1, 2021
- Messages
- 38
hi All - I have an excel tool that allows my users to upload a worksheet. One column in this sheet is Date (refer input), however once the user uploads the sheet into the tool, some Dates are ddmmyyyy and the rest as mmddyyyy. Not sure why this is inconsistent and looking to understand what to change in my code to get around this. any ideas welcome!
FileToOpen = Application.GetOpenFilename(Title:="Browse for your File & Import Range", FileFilter:="Excel Files (*.xls*),*xls")
If FileToOpen <> False Then
Set OpenBook = Application.Workbooks.Open(Filename:=FileToOpen, ReadOnly:=True)
Set src = OpenBook.Sheets(1)
src.UsedRange.UnMerge
lastrow = Application.WorksheetFunction.Max(src.Range("A" & src.Rows.Count).End(xlUp).Row, src.Range("B" & src.Rows.Count).End(xlUp).Row, src.Range("C" & src.Rows.Count).End(xlUp).Row)
datecolumn = 1
ThisWorkbook.Sheets.Add.Name = "Dsheet"
ThisWorkbook.Worksheets("Dsheet").Range(ThisWorkbook.Worksheets("Dsheet").Cells(1, 1), ThisWorkbook.Worksheets("Dsheet").Cells(lastrow, 1)).Value = src.Range(src.Cells(1, 1), src.Cells(lastrow, 1)).Value
ThisWorkbook.Worksheets("Dsheet").Range(ThisWorkbook.Worksheets("Dsheet").Cells(1, 1), ThisWorkbook.Worksheets("Dsheet").Cells(lastrow, 1)).NumberFormat = "DD-MM-YYYY"
OpenBook.Close False
End If
The input and output columns are as below.
Input Output
25/01/2021 25/01/2021
01/02/2021 02-01-2021
01/02/2021 02-01-2021
01/02/2021 02-01-2021
01/02/2021 02-01-2021
01/02/2021 02-01-2021
01/02/2021 02-01-2021
01/02/2021 02-01-2021
16/02/2021 16/02/2021
17/02/2021 17/02/2021
17/02/2021 17/02/2021
17/02/2021 17/02/2021
17/02/2021 17/02/2021
17/02/2021 17/02/2021
17/02/2021 17/02/2021
17/02/2021 17/02/2021
17/02/2021 17/02/2021
20/02/2021 20/02/2021
21/02/2021 21/02/2021
21/02/2021 21/02/2021
08/03/2021 03-08-2021
08/03/2021 03-08-2021
08/03/2021 03-08-2021
10/03/2021 03-10-2021
12/03/2021 03-12-2021
26/03/2021 26/03/2021
29/03/2021 29/03/2021
04/04/2021 04-04-2021
06/04/2021 04-06-2021
04/05/2021 05-04-2021
07/05/2021 05-07-2021
14/05/2021 14/05/2021
18/05/2021 18/05/2021
14/06/2021 14/06/2021
14/06/2021 14/06/2021
29/06/2021 29/06/2021
FileToOpen = Application.GetOpenFilename(Title:="Browse for your File & Import Range", FileFilter:="Excel Files (*.xls*),*xls")
If FileToOpen <> False Then
Set OpenBook = Application.Workbooks.Open(Filename:=FileToOpen, ReadOnly:=True)
Set src = OpenBook.Sheets(1)
src.UsedRange.UnMerge
lastrow = Application.WorksheetFunction.Max(src.Range("A" & src.Rows.Count).End(xlUp).Row, src.Range("B" & src.Rows.Count).End(xlUp).Row, src.Range("C" & src.Rows.Count).End(xlUp).Row)
datecolumn = 1
ThisWorkbook.Sheets.Add.Name = "Dsheet"
ThisWorkbook.Worksheets("Dsheet").Range(ThisWorkbook.Worksheets("Dsheet").Cells(1, 1), ThisWorkbook.Worksheets("Dsheet").Cells(lastrow, 1)).Value = src.Range(src.Cells(1, 1), src.Cells(lastrow, 1)).Value
ThisWorkbook.Worksheets("Dsheet").Range(ThisWorkbook.Worksheets("Dsheet").Cells(1, 1), ThisWorkbook.Worksheets("Dsheet").Cells(lastrow, 1)).NumberFormat = "DD-MM-YYYY"
OpenBook.Close False
End If
The input and output columns are as below.
Input Output
25/01/2021 25/01/2021
01/02/2021 02-01-2021
01/02/2021 02-01-2021
01/02/2021 02-01-2021
01/02/2021 02-01-2021
01/02/2021 02-01-2021
01/02/2021 02-01-2021
01/02/2021 02-01-2021
16/02/2021 16/02/2021
17/02/2021 17/02/2021
17/02/2021 17/02/2021
17/02/2021 17/02/2021
17/02/2021 17/02/2021
17/02/2021 17/02/2021
17/02/2021 17/02/2021
17/02/2021 17/02/2021
17/02/2021 17/02/2021
20/02/2021 20/02/2021
21/02/2021 21/02/2021
21/02/2021 21/02/2021
08/03/2021 03-08-2021
08/03/2021 03-08-2021
08/03/2021 03-08-2021
10/03/2021 03-10-2021
12/03/2021 03-12-2021
26/03/2021 26/03/2021
29/03/2021 29/03/2021
04/04/2021 04-04-2021
06/04/2021 04-06-2021
04/05/2021 05-04-2021
07/05/2021 05-07-2021
14/05/2021 14/05/2021
18/05/2021 18/05/2021
14/06/2021 14/06/2021
14/06/2021 14/06/2021
29/06/2021 29/06/2021