by Captain Sensible » Fri Oct 01, 2010 10:44 pm
Why not just set a flag once it's done the copy i.e set T4 to 1 once it's fired
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Columns.Count <> 16 Then Exit Sub
Application.EnableEvents = False
If [T3].Value <> 1 Then
[T4].Value=0
GoTo Xit
End If
If [T3].Value=1 And [T4].Value<>1 Then
ba_array = ThisWorkbook.Sheets("Data").Range("A1:Z44").Value
With ThisWorkbook.Sheets("Records")
Dim LastRow As Long
LastRow = .Range("A65536").End(xlUp).Row
.Range(.Cells(LastRow + 1, 1), .Cells(LastRow + 1 + UBound(ba_array, 1), 1 + UBound(ba_array, 2))).Value = ba_array
[T4].Value=1
End With
End If
Xit:
Application.EnableEvents = True
End Sub