avoid using select.
try this:
Dim i As Integer
For i = 10000 To 2 Step -1
If Cells(i, 1) = "SHF320" Then
' Inserts 4 rows to make room for software licenses
' looks for a specific cell value to trigger the insert at specific location.
Range(Cells(i + 1, 1), Cells(i + 4, 1)).EntireRow.Insert
' Inserts the Base Software Desc, PN and
Cells(i, 0) = "Base Software"
Cells(i, 1) = "Base Desc"
Cells(i, 2) = "Base PN"
Cells(i, 3) = "1"
Cells(i, 4) = "(-)"
Cells(i, 5) = "(-)"
' Inserts the Ethernet Software Desc, PN
' The "tmpETH" value is to be able to find this cell easly at a later time
' and replace it with values I have to calculate later
Cells(i + 1, 0) = "ETH RTU"
Cells(i + 1, 1) = "Eth Desc"
Cells(i + 1, 2) = "Eth PN"
Cells(i + 1, 3) = "tmpETH"
Cells(i + 1, 4) = "(-)"
Cells(i + 1, 5) = "(-)"
' Inserts the TDM Software Desc, PN
Cells(i + 2, 0) = "TDM RTU"
Cells(i + 2, 1) = "TDM Desc"
Cells(i + 2, 2) = "TDM PN"
Cells(i + 2, 3) = "tmpTDM"
Cells(i + 2, 4) = "(-)"
Cells(i + 2, 5) = "(-)"
' Inserts the WDM Software Desc, PN
Cells(i + 3, 0) = "WDM RTU"
Cells(i + 3, 1) = "WDM Desc"
Cells(i + 3, 2) = "WDM PN"
Cells(i + 3, 3) = "tmpWDM"
Cells(i + 3, 4) = "(-)"
Cells(i + 3, 5) = "(-)"
End If
Next i
if you are looking to start at the last entry in column A then replace
For i = 10000 To 2 Step -1
with
For i = Cells(65536, 1).End(XlUp).Row To 2 Step -1
ska