Protonleah: Here's the full code,
Sub copy()
'
' copy Macro
On Error GoTo errorHandler
Dim lNumberOfRows As Long
Dim aNumberofRows As Long
Dim NumberofCol As Long
Dim strForecastFileName As String
Dim FilePath As Variant
Dim length As Integer
Dim CurrentMonth As Integer
Dim tdate As Date
Dim XrefLength As Integer
Dim XtractLength As Integer
Dim rng As Range
Dim lastColumn As Integer
Dim rng_source As Range
Dim rng_Destination As Range
Dim l_SourceRows As Long
Sheets("Forecast").Select
Range("A1:CZ9000").Select
Selection.ClearContents
Sheets("Forecast2").Select
Range("A1:CZ9000").Select
Selection.ClearContents
Sheets("Combine").Select
Range("A1:CZ9000").Select
Selection.ClearContents
Sheets("upload").Select
Range("A2:CZ9000").Select
Selection.ClearContents
FilePath = Application.GetOpenFilename(, , "Select first forecast data")
If FilePath = False Then
MsgBox "No file was selected. Please select a file."
Exit Sub
End If
'Opens the file
Workbooks.Open FilePath, ReadOnly:=True
Filename = Workbooks(Workbooks.Count).Name
Workbooks(Filename).Activate
Sheet = ActiveSheet.Name
Sheets("Sheet1").Activate
' copy part numbers
Set rng = Application.InputBox("Select Cross reference numbers including Heading", "Obtain Range Object", Type:=8)
rng.copy
Windows("Mexico_Forecast_Macro.xlsm").Activate
Sheets("Forecast").Activate
ActiveSheet.Range("A3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
lNumberOfRows = Range("A3").End(xlDown).Row
Workbooks(Filename).Activate
Sheet = ActiveSheet.Name
Sheets("Sheet1").Activate
Set rng = Application.InputBox("Select Forecast Data including dates", "Obtain Range Object", Type:=8)
rng.copy
Windows("Mexico_Forecast_Macro.xlsm").Activate
Sheets("Forecast").Activate
ActiveSheet.Range("D1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
aNumberofRows = Range("A3").End(xlDown).Row
Sheets("Forecast").Activate
Range("D2").Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Insert Shift:=xlDown
Range("D2").Select
Call DateMod
Range("D3").Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Insert Shift:=xlDown
Range("D3").Select
ActiveCell.FormulaR1C1 = _
"=R[-1]C"
Set rng_source = Range("D3")
l_SourceRows = rng_source.Rows.Count
lastColumn = ActiveSheet.Cells(2, Columns.Count).End(xlToLeft).Column
Set rng_Destination = Range(rng_source.Cells(1), Cells(rng_source.Cells(1).Row + l_SourceRows - 1, lastColumn))
rng_source.AutoFill _
Destination:=rng_Destination, _
Type:=xlFillDefault
Range("b3").Select
ActiveCell.FormulaR1C1 = "Supplier Number"
Range("B4").Select
ActiveCell.FormulaR1C1 = "1098"
Selection.AutoFill Destination:=Range("B4:B" & lNumberOfRows), Type:=xlFillDefault
Range("C3").Select
ActiveCell.FormulaR1C1 = "Short Number"
Range("C4").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-2]&""*"",XRef!C[-2]:C[-1],2,FALSE)"
Selection.AutoFill Destination:=Range("C4:c" & lNumberOfRows), Type:=xlFillDefault
Range("D4").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.NumberFormat = "General"
Sheets("control").Activate
Range("a2").Select
Exit Sub
''End If
errorHandler:
MsgBox Err.Description
MsgBox Err.Number
End Sub
Sub DateMod()
Dim Temp As Variant, _
Prefix As Variant, _
Yr As Variant, _
Mnth As String, _
DayNum As String, _
DV As Date
Dim lastColumn As Long
Dim i As Integer
Dim sht As Worksheet
Set sht = ThisWorkbook.Worksheets("Forecast")
Range("D1").Select
lastColumn = sht.Cells(1, sht.Columns.Count).End(xlToLeft).Column
For i = 4 To lastColumn
Temp = Split(Cells(1, i).Value, "\")
Yr = Split(Temp(0), "-")
Prefix = Yr(0)
Yr = Yr(1)
Temp = Split(Temp(1), " ")
Mnth = Temp(1)
DayNum = Left(Temp(0), Len(Temp(0)) - 2)
DV = DateValue(DayNum & " " & Mnth & " " & Yr)
Cells(2, i).Value = DV
Next i
End Sub
This is what the customer incoming file looks like:
11-2-2018 3-17-30 PM.jpg
and this is what the output should look like:
11-2-2018 3-20-26 PM.jpg
Bookmarks