Private Sub CommandButton1_Click()
Const cShRawData As String = "wtsbimport"
Dim arrRawData
Const cDestinationCol As Long = 1 ' 4 = Destination ( Start/End point ) (D)
Const cViaDepotCol As Long = 2 ' 5 = Via/Depot ( Pickup / drop of empty ) (E)
Const cShYellowSheet As String = "DEHAM"
Const cDropLocCol As Long = 1 ' 5 = Drop Location (E)
Const cDropZipCol As Long = 2 ' 21 = Return location (U)
Const cIdCol As Long = 38 ' 38 = Id (AL)
Const cIdsize As Long = 9 ' 38 = Id (AL)
Dim arrYellowSheet
Const cShOutPutData As String = "Wt. Slab Data IMP"
Dim arrOutPut
Dim oDic As Object, sTemp As String
Dim iRow As Long, iCol As Long, iPtr As Long
On Error Resume Next
With Worksheets(cShYellowSheet)
arrYellowSheet = .Range("a1").CurrentRegion
End With
Set oDic = CreateObject("scripting.dictionary")
oDic.comparemode = 1
For iRow = 2 To UBound(arrYellowSheet)
sTemp = Trim$(arrYellowSheet(iRow, cIdsize)) & Trim$(arrYellowSheet(iRow, cDropLocCol))
If Not oDic.exists(sTemp) Then
oDic.Item(sTemp) = arrYellowSheet(iRow, cIdCol)
End If
Next
With Worksheets(cShRawData)
arrRawData = .Range("a13").CurrentRegion
End With
ReDim arrOutPut(1 To UBound(arrRawData) * 10, 1 To 5)
For iRow = 13 To UBound(arrRawData)
sTemp = Trim$(arrRawData(iRow, cDestinationCol)) & Trim(arrRawData(iRow, cViaDepotCol))
sTemp = oDic.Item(sTemp)
For iCol = 7 To 16
' If iCol <> 12 Then
iPtr = iPtr + 1
arrOutPut(iPtr, 1) = VBA.Choose(iCol, , , , , , , Left(Sheets("wtsbimport").Range("G12").Value, 2) & "s", Left(Sheets("wtsbimport").Range("H12").Value, 2) & "s", Left(Sheets("wtsbimport").Range("I12").Value, 2) & "s", Left(Sheets("wtsbimport").Range("J12").Value, 2) & "s", Left(Sheets("wtsbimport").Range("K12").Value, 2) & "s", Left(Sheets("wtsbimport").Range("L12").Value, 2) & "s", Left(Sheets("wtsbimport").Range("M12").Value, 2) & "s", Left(Sheets("wtsbimport").Range("N12").Value, 2) & "s", Left(Sheets("wtsbimport").Range("O12").Value, 2) & "s", Left(Sheets("wtsbimport").Range("P12").Value, 2) & "s")
arrOutPut(iPtr, 2) = VBA.Choose(iCol, , , , , , , Sheets("wtsbimport").Range("G2").Value, Sheets("wtsbimport").Range("G3").Value, Sheets("wtsbimport").Range("G4").Value, Sheets("wtsbimport").Range("G5").Value, Sheets("wtsbimport").Range("G6").Value, Sheets("wtsbimport").Range("G7").Value, Sheets("wtsbimport").Range("G8").Value, Sheets("wtsbimport").Range("G9").Value, Sheets("wtsbimport").Range("G10").Value, Sheets("wtsbimport").Range("G11").Value)
arrOutPut(iPtr, 3) = VBA.Choose(iCol, , , , , , , Sheets("wtsbimport").Range("H2").Value, Sheets("wtsbimport").Range("H3").Value, Sheets("wtsbimport").Range("H4").Value, Sheets("wtsbimport").Range("H5").Value, Sheets("wtsbimport").Range("H6").Value, Sheets("wtsbimport").Range("H7").Value, Sheets("wtsbimport").Range("H8").Value, Sheets("wtsbimport").Range("H9").Value, Sheets("wtsbimport").Range("H10").Value, Sheets("wtsbimport").Range("H11").Value)
arrOutPut(iPtr, 4) = arrRawData(iRow, iCol)
arrOutPut(iPtr, 5) = sTemp
'End If
Next
Next
With Worksheets(cShOutPutData)
.Cells(1, 1).Resize(, 5) = Array("Size", "From", "To", "Amount", "Id")
.Cells(2, 1).Resize(UBound(arrOutPut), 5) = arrOutPut
End With
End Sub
Bookmarks