I would remove the ws_Activate macro completely, that's impractical for the increased scope. Then this should work since your column associations are consistently 37 columns apart.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim MyVal As Single, MyCol As Long
Select Case Target.Cells(1).Column
Case 2, 6, 10, 14, 18 'columns B, F, J, N and R
MyCol = Target.Cells(1).Column + 37 'column AM, AQ, AU, AY and BC
If Target.Cells(1).Value <> "" Then
Do
MyVal = Application.InputBox("How many hours for this task: " & Target.Cells(1).Value, "Hours", Type:=1)
If MyVal > 0 Then
Cells(Target.Cells(1).Row, MyCol).Value = MyVal
Exit Do
End If
Loop
Else
Cells(Target.Cells(1).Row, MyCol).ClearContents
End If
Case Else
'do nothing
End Select
End Sub
Bookmarks