我必须为大约10,000个参赛作品完成一项有点乏味的任务。我对VBA没有经验,所以感谢你的帮助。
鉴于以下数据格式,该程序将:
1)以绿色突出显示一组重复的最旧副本(副本用A列表示,年龄用B列表示)
2)突出显示黄色
中的其余重复项3)将一组(现在以绿色突出显示)中最旧的重复条目的C列中的代码复制到该组中的所有重复条目(A1,A3,A4)
所以输出看起来像这样:
非常感谢任何帮助!
答案 0 :(得分:0)
这里是一个部分答案,指出你正确的方向...希望它让你接近但我没有测试它,所以确保你有一个备份......
它假设您可以按col a和col b排序。我从这里找到了颜色编号:http://dmcritchie.mvps.org/excel/colors.htm
Sub Highlight_Duplicates()
SaveCompany = ""
SaveColC = ""
For Counter = 1 To ActiveSheet.UsedRange.Rows.Count
Set cola = ActiveSheet.Cells(Counter, 1)
Set ColB = ActiveSheet.Cells(Counter, 2)
Set ColC = ActiveSheet.Cells(Counter, 3)
Set ColD = ActiveSheet.Cells(Counter, 4)
' Highlight the first company record green
If cola.Value <> SaveCompany Or SaveCompany = "" Then
Range(cola, ColD).Interior.ColorIndex = 4
SaveColC = colc.value
End If
' Highlight matching company record yellow and set value to oldest c
If cola.Value = SaveCompany Then
Range(cola, ColD).Interior.ColorIndex = 6
colc.value = SaveColC
End If
' Save the company
SaveCompany = cola.Value
Next
End Sub
答案 1 :(得分:0)
也许这会有所帮助:
在D1中编写此数组公式:(不要忘记按Ctrl Shift Enter输入它)
=INDEX($C$1:$C$6;MATCH(MAX(IF(A1=$A$1:$A$6;$B$1:$B$6;""));IF(A1=$A$1:$A$6;$B$1:$B$6;"");0))
根据您的区域设置,您可能需要替换“;”通过“,”
将公式复制下来
现在选择A1:D6,转到条件格式,新规则,使用公式确定要格式化的单元格。
输入公式:
=$C1=$D1
应用绿色背景
使用公式添加另一条规则:
=AND($C1<>$D1;$D1<>"")
应用黄色背景