Здесь было много кода, который не нужен, вы определили переменные и никогда не использовали их, тогда вы использовали переменные, которые вы никогда не определили.
Я вычистил его как мог но без ваших данных, чтобы проверить, я не знаю, будет ли это работать.
Попробуйте это и доложите:
Sub Click_1()
Dim Comp_Name As String, search_string As String, row_number As Long
row_number = 0
search_string = Sheets("CompetencyView").Range("B5")
Sheets("CompetencyView").Activate
Sheets("CompetencyView").Unprotect Password = "ritu"
Sheets("CompetencyView").Range("A12:A" & Range("A" & Rows.Count).End(xlUp).Row).Delete shift:=xlUp
Do
row_number = row_number + 1
Comp_Name = Sheets("MasterRolePLMap").Range("A" & row_number)
If InStr(Comp_Name, search_string) > 0 Then
Sheets("MasterRolePLMap").Rows(row_number).Copy 'Changed this to copy the row you need
Sheets("CompetencyView").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Paste 'I don't think you want to always paste to row 1 as you will just keep overwriting it so I changed it to offset the existing data
End If
Loop Until Comp_Name = ""
End Sub