对不起,如果这是一个愚蠢的问题(我搜索并找不到答案。)我试图找出这是否可以通过函数实现,但似乎我需要使用宏,我没有任何经验和他们一起,但可以学习。
我正在尝试将工作表 1 中的 2 个单元格、资源名称和项目代码(C 和 L)与工作表 2 中的两个相同命名的列(它们是 A 和 D)进行比较。资源名称的格式如下:Lanier, Joe 所以它的姓氏逗号空格名字。项目代码是字母和数字的组合,没有空格。如果它们相同,我想将工作表 1(T 到 Y)中的一系列单元格复制到工作表 2 中匹配行的 X 到 AC 列中。它会覆盖这些单元格中的任何数据。
如果这也是可能的,如果有一种方法可以突出显示不匹配的单元格或行,这将是一个很大的帮助,这样我的老板就会知道他需要手动复制什么。非常感谢!
编辑:包含在宏下面,看起来它应该可以工作但不是。它突出显示所有单元格。知道可以改变什么吗?
提交()
Dim i&, j&, s$, col As New Collection
Application.ScreenUpdating = False
On Error Resume Next
With Sheets("Sheet2")
For i = 1 To .Cells(Rows.Count, 3).End(xlUp).Row
s = .Cells(i, 1) & "~" & .Cells(i, 3)
If IsEmpty(.Item(s)) Then col.Add i, s
Next i
End With
With Sheets("Sheet1")
.Columns(1).Interior.Color = xlNone
For i = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
s = .Cells(i, 3) & "~" & .Cells(i, 12)
If IsEmpty(col.Item(s)) Then
.Cells(i, 1).Interior.Color = vbYellow
Else
j = col.Item(s)
Sheets("Sheet2").Cells(j, 5).Resize(, 6).Value = .Cells(i, 24).Resize(, 6).Value
End If
Next i
End With: Application.ScreenUpdating = True
结束子