See if this is significantly faster. If it is, then complete it following that pattern
Option Explicit
Enum ColNums
SKU
Desc
Termall
TermMonths
Location
ResponseTime
ADP
KYD
SBTY
End Enum
Sub PArseDescriptions()
Dim Rw As Range
With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual
End With
For Each Rw In Range("A1").CurrentRegion.Rows 'Edit A1 to fit the SKU Header Cell
With Cells(Desc)
'Assume there can be only one
If InStr(.Value, "1Y") Then
Cells(Termall) = "1Y"
Cells(TermMonths) = 12
ElseIf InStr(.Value, "2Y") Then
Cells(Termall) = "2Y"
Cells(TermMonths) = 24
ElseIf InStr(.Value, "3Y") Then
Cells(Termall) = "3Y"
Cells(TermMonths) = 38
ElseIf InStr(.Value, "1Y") Then
Cells(Termall) = "1Y"
Cells(TermMonths) = 12
ElseIf InStr(.Value, "1M") Then
Cells(Termall) = "1M"
Cells(TermMonths) = 1
ElseIf InStr(.Value, "2M") Then
Cells(Termall) = "2M"
Cells(TermMonths) = 2
ElseIf InStr(.Value, "3M") Then
Cells(Termall) = "3M"
Cells(TermMonths) = 3
ElseIf InStr(.Value, "4M") Then
Cells(Termall) = "4M"
Cells(TermMonths) = 4
End If
'Only one
If InStr(.Value, "Onsite") Then
Cells(Location) = "OnSite"
ElseIf InStr(.Value, "ElseWhere") Then
Cells(Location) = "ElseWhere"
End If
If InStr(.Value, "24x7x4") Then Cells(ResponseTime) = "24x7x4"
'Only one
If InStr(.Value, "ADP") Then
Cells(ADP) = "ADP"
ElseIf InStr(.Value, "KYD") Then
Cells(KYD) = "KYD"
ElseIf InStr(.Value, "SBTY") Then
Cells(SBTY) = "SBTY"
End If
End With
Next Rw
With Application
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
End With
End Sub