我的Excel有两张纸: Sheet1 和 Sheet2
Sheet1
Sheet2
Sheet1:
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
Sheet2:
Employee
ID Category Location
我希望宏在D列中的每个单元格中循环,以查找值“ Director”。
如果找到值“ Director”,我想在Sheet2中填充列,即A列(对应于Director行)中的1234和5678值,以及C列中的Italy和France,以及“ 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
答案 0 :(得分:0)
第一次搜索VLOOKUP示例;第二,如果您仍要使用宏,请为{i,j}和Cells [i,j]尝试两个宏