Maybe like this. It includes some assumptions on my part.
The Intersect accommodates the case where the UsedRange does not start in col A.
Sub x()
Const sCol As String = "C"
Const iCust As Long = 2
Dim rSrc As Range
Dim rDst As Range
Dim cell As Range
Dim avCol As Variant
Dim vCol As Variant
Dim iRow As Long
Dim iRowOfs As Long
Dim iColOfs As Long
Set rSrc = Workbooks("SOURCE DATA.XLS").Worksheets("Specific Data").UsedRange
Set rDst = Workbooks("INVOICES.xls").Worksheets("Customer #2").Range("A10")
avCol = Array("A", "B", "C", "E", "D")
For Each cell In Intersect(rSrc, rSrc.Parent.Columns(sCol)).Cells
If cell.Value = iCust Then
iRow = cell.Row
iColOfs = 0
For Each vCol In avCol
rDst.Offset(iRowOfs, iColOfs).Value = rSrc.Cells(iRow, vCol).Value - IIf(vCol = "E", 1.5, 0)
iColOfs = iColOfs + 1
Next vCol
iRowOfs = iRowOfs + 1
End If
Next cell
End Sub
Bookmarks