My Excel имеет два листа: Лист1 и Лист2
Лист1
Лист2
Лист1:
Employee
ID Name Surname Category Location Gender
1234 Emplo1 SurnameEmplo1 Director Italy Man
4321 Emplo2 SurnameEmplo2 Technician Ireland Woman
9876 Emplo3 SurnameEmplo3 Technician Russia Man
6789 Emplo4 SurnameEmplo4 Operator Spain Man
5678 Emplo5 SurnameEmplo5 Director France Woman
8765 Emplo6 SurnameEmplo6 Operator Poland Woman
Лист2:
Employee
ID Category Location
Мне бы хотелось, чтобы мой макрос l oop через каждую ячейку в столбце D в поисках значения «Директор».
Если найдено значение «Директор», я хотел бы заполнить столбцы в Sheet2, то есть значения 1234 и 5678 в столбце A (соответствует строке Director) и Италии и Франции в столбце C, а также «Director» в столбце B.
Извините за мой плохой код, я только начал в VBA и это не работает вообще. Правильный ли подход?
Sub LookUpDirector()
Dim rng As Range
Set rng = Sheets("Sheet1").Range("D2:D7")
On Error Resume Next
'Loop through the Range to find the value
For Each cell In rng
'If value is found, insert values in Sheet2
If cell.Value = "Director" Then
Sheets("Sheet2").Range("B2").Value = cell.Value
Sheets("Sheet2").Range("A2").Value = "=INDEX(Sheet1!$A$2:$A$7;MATCH(""Director"";Sheet1!$D$2:$D$7;0))"
Sheets("Sheet2").Range("C2").Value = "=INDEX(Sheet1!$E$2:$E$7;MATCH(""Director"";Sheet1!$D$2:$D$7;0))"
End If
Next cell
End Sub