我在下拉列表中有不同的名称(客户经理),每个客户经理都有1个或多于1个'SID'(6位数字)。如果我选择具有3个SID的“A”(客户经理),如果但是我想看到“B”客户经理的SID只有1个SID,那么我想清除最后的结果并仅显示给B客户经理,但在我的代码中,最后的结果仍然存在,代码更新了'B'的第一个SID,并保留了其他两个SID为'A'。
如果我选择“B”,我不需要“A”SID(它应该只显示一个并清除休息单元
这是我的代码:
Sub Discrepancies_by_Acc_Mgr()
''SIDs are in column 'D' in my Data,
''Account manager names are in Column 'W',
'' Column 'Z3' where i have my drop down list,
'' From Column 'Z6' where i want to start print the SIDs if find in the data
s = 6
For i = 2 To 25000
If (Worksheets("Data").Range("W" & i)) =(Worksheets("Data").Range("Z3")) Then
Worksheets("Data").Range("Z" & s) = Worksheets("Data").Range("D" & i)
s = s + 1
End If
Next
End Sub
答案 0 :(得分:0)
在编写结果之前,只需清除单元格的内容:
Sub Discrepancies_by_Acc_Mgr()
Dim s As Long
Dim i As Long
With Worksheets("Data")
'Clear existing contents if they exist
If Not IsEmpty(.Range("Z6")) Then
.Range("Z6:Z" & .Range("Z" & .Rows.Count).End(xlUp).Row).ClearContents
End If
s = 6
For i = 2 To 25000
If .Range("W" & i).Value = .Range("Z3").Value Then
.Range("Z" & s).Value = .Range("D" & i).Value
s = s + 1
End If
Next
End With
End Sub