You should be able to traverse the last row of your table:
1. rowCounter and columnCounter should be the first row/column of your table
2. the end of loop should be last row (where data will be added)
3. call this function to arrive to an active cell then add your data (sub function below)
Function Traverse_ID(columnCounter As String) As Long
Dim ID As Long
rowCounter = 4
Range(columnCounter & rowCounter).Select
Do Until ActiveCell.Formula2R1C1 = ""
rowCounter = rowCounter + 1
Range(columnCounter & rowCounter).Select
If ActiveCell.Formula2R1C1 = "" Then
Exit Do
End If
Loop
Traverse_ID = rowCounter
End Function
Sub ADD_Employee()
Dim row As Long
Dim column As String
Dim actualRow As Long
Cells.FormatConditions.Delete
column = InputBox("Please enter column letter.", "Column Letter")
row = Traverse_ID(column)
MsgBox (row)
frmAddEmployee.Show
actualRow = row - 3
ActiveCell.Formula2R1C1 = actualRow
Range("B" & row).Select
ActiveCell.Formula2R1C1 = frmAddEmployee.cboRoleList.Value
Role = frmAddEmployee.cboRoleList.Value
Range("C" & row).Select
ActiveCell.Formula2R1C1 = frmAddEmployee.txtName.Text
Range("D" & row).Select
ActiveCell.Formula2R1C1 = frmAddEmployee.txtSurname.Text
Range("E" & row).Select
ActiveCell.Formula2R1C1 = AssignGrossSalary()
Range("F" & row).Select
ActiveCell.Formula2R1C1 = ComputeTax(GrossSalary)
Range("G" & row).Select
ActiveCell.Formula2R1C1 = ComputeNetSalary(TaxCompute)
End Sub