很抱歉,如果这是一个愚蠢的问题(我搜索过,找不到答案。)我试图找出这是否可能与功能,但似乎我需要使用宏,我不有任何经验,但可以学习。
我正在尝试将工作表1中的2个单元格,资源名称和项目代码(C和L)与工作表2中的两个相同的命名列进行比较(它们是A和D)。资源名称的格式如下:Lanier,Joe因此它的姓氏逗号空间名字。项目代码是字母和数字的混合,没有空格。如果它们是相同的,我想将表1中的一系列单元格(T到Y)复制到表2中匹配行的X到AC列中。它将覆盖这些单元格中的任何数据。
如果也有可能,如果有办法突出显示没有匹配的单元格或行,这将是一个非常大的帮助,所以我的老板会知道他需要手动复制。非常感谢!
编辑:包含在宏下面似乎应该可以工作但不是。它突出了所有的细胞。知道什么可以改变吗?
Sub ertert()
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
End Sub
答案 0 :(得分:0)
7月23日 - 10月30日编辑
不需要VBA或宏,您可以使用简单的公式和一些复制和粘贴
在sheet2上,在数据列的末尾,使用此公式创建一个新列(AD?)
=IF(AND(IFERROR(VLOOKUP(A4,[book1]sheet1!$C$4:$C$14,1,FALSE),"")<>"",IFERROR(VLOOKUP(D4,[book1]sheet1!$L$4:$L$14,1,FALSE),"")<>""),[book1]sheet1!T4,X4)
并将其复制到接下来的6行(AD到AI)
我假设第一行为4,公式在表单1中搜索10行,根据需要进行调整,然后向下复制到最后一行数据行
如果匹配,则会显示sheet1数据,否则将显示sheet2数据
复制此块,转到X4并使用EDIT - PASTE SPECIAL - VALUES如果是excel 2003或单击左上角的PASTE按钮并选择PASTE VALUES如果Excel 2007 +
我建议您获取有关VLOOKUP
的信息,以便更好地了解此解决方案
欢呼声