I'm not sure to understand your requirements.
try the following code
assuming you have your dropdown list organized as the image in Sheet(2)
Captura.JPG
Sub cpyMultV()
Dim mSeniority(15, 2), mSalary(15, 2), mBonus(15, 2)
'choose the Matrix size according to your need
Dim iSeniority, iSalary, iBonus As Integer
Dim sh As Worksheet
Dim Lr, Counter, Nbr, mYears As Long
Dim cFound As Range
Dim myString, FirstAddress As String
'Load de Arrays asuming they are in Sheets(2)
For i = 1 To 15
mSeniority(i, 1) = i
mSeniority(i, 2) = Sheets(2).Cells(i + 1, 2)
mSalary(i, 1) = i
mSalary(i, 2) = Sheets(2).Cells(i + 1, 3)
mBonus(i, 1) = i
mBonus(i, 2) = Sheets(2).Cells(i + 1, 4)
Next i
'Start processing
myString = "JobTitle" ' or your own searching string
Set sh = Sheets(1)
Nbr = Application.InputBox("Enter the number of times to copy.", "TIMES TO COPY", Type:=1)
Counter = 0
'Start number of copies loop
Do While Counter < Nbr
Lr = sh.Cells(Rows.Count, 1).End(xlUp).Row
sh.Range("A2:DR68").Copy sh.Range("A" & Lr + 2)
'Start searching
With sh.Range("A" & Lr + 2 & ":DR" & Lr + 70)
Set cFound = .Find(myString, LookIn:=xlValues)
If Not cFound Is Nothing Then
FirstAddress = cFound.Address
Do
'Change cell value with input data
mYears = Application.InputBox("Enter number of years for Row: " & cFound.Row, "WORKING YEARS")
iSeniority = Application.InputBox("Enter Seniority index for Row: " & cFound.Row, "SENIORITY")
iSalary = Application.InputBox("Enter Salary index for Row: " & cFound.Row, "SALARY")
iBonus = Application.InputBox("Enter Bonus index for Row: " & cFound.Row, "BONUS")
cFound.Value = myString & " " & _
myears & " " & _
mSeniority(iSeniority, 2) & " " & _
mSalary(iSalary, 2) & " " & _
mBonus(iBonus, 2) & "%"
Set cFound = .FindNext(cFound)
Loop While Not cFound Is Nothing And cFound.Address <> FirstAddress
End If
End With
Counter = Counter + 1
Loop
End Sub
Bookmarks