Sub transferData()
Dim Fsh As Worksheet 'Form
Dim Dsh As Worksheet 'Data
'Set the worksheet
Set Fsh = ThisWorkbook.Sheets("Form")
Set Dsh = ThisWorkbook.Sheets("Data")
'Get the next available row in the Data Sheet
Dim nextRow As Integer
nextRow = Dsh.Range("A" & Rows.Count).End(xlUp).Row + 1
'Transfer data from the Form sheet to the Data sheet
Dsh.Range("A" & nextRow).Value = Fsh.Range("B3").Value
Dsh.Range("B" & nextRow).Value = Fsh.Range("F3").Value
Dsh.Range("C" & nextRow).Value = Fsh.Range("B5").Value
Dsh.Range("D" & nextRow).Value = Fsh.Range("F5").Value
Dsh.Range("E" & nextRow).Value = Fsh.Range("B7").Value
Dsh.Range("F" & nextRow).Value = Fsh.Range("F7").Value
Dsh.Range("G" & nextRow).Value = Fsh.Range("F9").Value
Dsh.Range("H" & nextRow).Value = Fsh.Range("B9").Value
Dsh.Range("I" & nextRow).Value = Fsh.Range("A10").Value
Dsh.Range("J" & nextRow).Value = Fsh.Range("A11").Value
Dsh.Range("K" & nextRow).Value = Fsh.Range("A12").Value
Dsh.Range("L" & nextRow).Value = Fsh.Range("A13").Value
Dsh.Range("M" & nextRow).Value = Fsh.Range("A14").Value
'Delete the form values
On Error Resume Next 'Handle cases where the named range doesn't exist
Fsh.Range("clearvalue").ClearContents
On Error GoTo 0
MsgBox "Saved", vbInformation, "Data Transfer"
End Sub