Selecting and Active Cell are ususaly not needed. Also copy/PasteValues is dome much quicker when done with direct syntax
destinationRange.Value=sourceRange.Value
I modifyed your code to reflect this.
Dim destination As Range
Dim testValue As Variant
With Sheets("OrderData")
If .Range("A2") = "" Then
Set destination = .Range("A2")
Else
Set destination = .Range("a1").End(xlDown).Offset(1, 0)
End If
destination = Date
End With
With Sheets("OrderForm")
If .Range("C17").Value = .Range("C18").Value Or .Range("C17").Value = .Range("C19").Value _
Or .Range("C18").Value = .Range("C19").Value Then
MsgBox "You can not enter duplicate wine cases, please ensure you make unique selections and try again"
Exit Sub
End If
For loopcount = 1 To 3
Sheets("Price&GiftInfo").Range("RWM").Value = .Range("C16").Offset(loopcount, 0).Value
Select Case .Range("RWM")
Case "Red"
destination.Offset(0, 1) = .Range("E16").Offset(loopcount, 0)
Case "White"
destination.Offset(0, 2) = .Range("E16").Offset(loopcount, 0)
Case "Mixed"
destination.Offset(0, 3) = .Range("E16").Offset(loopcount, 0)
End Select
Next loopcount
End With
Also, if there is something in Sheets("OrderData").Range("A1"), testing for A2 is not needed.
Sheets("OrderData").Range("A1").End(xlDown).Offset(1,0)
will find the destination even if A2 is empty. If A1 isn't empty.
Bookmarks