Here is the changes made:

Sub EditMe()
'declare the variables
Dim Bws As Worksheet, Fws As Worksheet, f As Range, wID As Variant
'turn off screen updating
Application.ScreenUpdating = False
'variables
Set Bws = Sheet2
Set Fws = Sheet4
'check for sufficent data
If Bws.Range("H3").Value = "" Or Bws.Range("V3").Value = "" Or _
Bws.Range("V4").Value = "" Or Bws.Range("AN3").Value = "" Then
MsgBox "There is insufficient data to Edit"
Exit Sub
End If
'find ID
wID = Bws.Range("H3").Value
Set f = Fws.Range("B9:B" & Fws.Range("B" & Rows.Count).End(xlUp).Row).Find(wID, , xlValues, xlWhole)
If f Is Nothing Then
MsgBox "ID does not exists"
Exit Sub
End If
With f
.Offset(0, 1).Value = Bws.Range("V3").Value
.Offset(0, 2).Value = Bws.Range("V4").Value
.Offset(0, 3).Value = Bws.Range("V5").Value
.Offset(0, 4).Value = Bws.Range("V6").Value
.Offset(0, 5).Value = Bws.Range("V7").Value
.Offset(0, 6).Value = Bws.Range("AE3").Value
.Offset(0, 7).Value = Bws.Range("AE4").Value
.Offset(0, 8).Value = Bws.Range("AE5").Value
.Offset(0, 9).Value = Bws.Range("AE7").Value
.Offset(0, 10).Value = Bws.Range("AN3").Value
.Offset(0, 11).Value = Bws.Range("AN4").Value
.Offset(0, 12).Value = Bws.Range("AN5").Value
.Offset(0, 13).Value = Bws.Range("AN6").Value
.Offset(0, 14).Value = Bws.Range("AN7").Value
.Offset(0, 15).Value = Bws.Range("AZ3").Value
.Offset(0, 16).Value = Bws.Range("BD3").Value
.Offset(0, 17).Value = Bws.Range("AZ4").Value
.Offset(0, 18).Value = Bws.Range("BD4").Value
.Offset(0, 19).Value = Bws.Range("AZ5").Value
.Offset(0, 20).Value = Bws.Range("BD5").Value
.Offset(0, 21).Value = Bws.Range("AZ6").Value
.Offset(0, 22).Value = Bws.Range("BD6").Value
.Offset(0, 23).Value = Bws.Range("AZ7").Value
.Offset(0, 24).Value = Bws.Range("BD7").Value
End With
FilterRng 'run the filter to limit data
Bws.Select 'select the bookings sheet
Bookings 'run the macro to add the bookings
Clearme 'clear the values
End Sub