Yeah that is what i did first time around and thought i was losing my nut when it was not working. So i am assuming the problem lies in the rest of my code. I get an application defined or object defined error.
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim inv1 As Worksheet
Set ws1 = ThisWorkbook.Sheets("Sheet1")
Set ws2 = ThisWorkbook.Sheets("Sheet2")
Dim i As Integer
i = 0
For Row = 1 To 500
For Col = 1 To 20
If ws1.Cells(Row, Col).Value = ws1.Cells(363, 3) Then
If ws1.Cells(Row, 8).Value = AT Then
Set inv1 = ThisWorkbook.Sheets("Invoice (2)")
ElseIf ws1.Cells(Row, 8).Value = DE Then
Set inv1 = ThisWorkbook.Sheets("Invoice (3)")
ElseIf ws1.Cells(Row, 8).Value = BE Then
Set inv1 = ThisWorkbook.Sheets("Invoice (4)")
End If
If i = 0 Then
inv1.Cells(19, 6).Value = ws1.Cells(Row, Col).Value 'PO number
inv1.Cells(28, 1).Value = ws1.Cells(Row, 6).Value
inv1.Cells(28, 6).Value = ws1.Cells(Row, 13).Value
inv1.Cells(28, 3).Value = ws1.Cells(Row, 9).Value
inv1.Cells(28, 4).Value = ws1.Cells(Row, 17).Value
inv1.Cells(28, 2).Value = ws1.Cells(Row, 7).Value
ElseIf i = 1 Then
inv1.Cells(28, 8).Select
ActiveCell.Offset(1).EntireRow.Insert Shift:=xlDown
inv1.Range("H28").Select
Selection.Copy
inv1.Range("H29").Select
ActiveSheet.Paste
inv1.Cells(29, 1).Value = ws1.Cells(Row, 6).Value
inv1.Cells(29, 6).Value = ws1.Cells(Row, 13).Value
inv1.Cells(29, 3).Value = ws1.Cells(Row, 9).Value
inv1.Cells(29, 4).Value = ws1.Cells(Row, 17).Value
inv1.Cells(29, 2).Value = ws1.Cells(Row, 7).Value
ElseIf i = 2 Then
inv1.Cells(29, 8).Select
ActiveCell.Offset(1).EntireRow.Insert Shift:=xlDown
inv1.Range("H29").Select
Selection.Copy
inv1.Range("H30").Select
ActiveSheet.Paste
inv1.Cells(30, 1).Value = ws1.Cells(Row, 6).Value
inv1.Cells(30, 6).Value = ws1.Cells(Row, 13).Value
inv1.Cells(30, 3).Value = ws1.Cells(Row, 9).Value
inv1.Cells(30, 4).Value = ws1.Cells(Row, 17).Value
inv1.Cells(30, 2).Value = ws1.Cells(Row, 7).Value
End If
i = i + 1
End If
Next
Next
End Sub
Bookmarks