With Sheet1.Range("B2:B" & lastrow)
.Value = Evaluate(Replace("if(@<>"""",text(@,""MMMM""),"""")", "@", .Offset(, -1).Address))
End With
Private Sub Worksheet_Change(ByVal Target As Range)
'Modified 9/10/2018 3:02:38 PM EDT
If Not Intersect(Target, Range("A:A")) Is Nothing Then
If Target.Cells.CountLarge > 1 Or IsEmpty(Target) Then Exit Sub
Target.Offset(, 1).Value = Format(Target.Value, "MMMM")
End If
End Sub