我正在尝试搜索2组数据(从7月和8月)并进行比较以获得结果
-
个国家出现在7月和8月
-
个国家出现在7月,而不是8月
-
计算国家/地区计数值的增加或减少百分比(出现在7月和8月)
下面是我所指的excel截图
-
在单元格A2中取值'America'并在E列中搜索
-
如果找到,将单元格A1,B1和C1中的值复制到H1,I1和J1列
题
-
现在我想将F列中的值复制到K列(如果同一个国家/地区出现在8月和7月) .
-
例如对于Cananda搜索,我的代码逻辑可以复制同一行但不在单元格F2(cos不同行)中的值?有什么想法可以分享怎么做?
以下是我的VBA代码
Sub Compare()
Dim Report As Worksheet, lastRow As Long, fVal As Range, c As Range, i As Long
Set Report = Sheets(1) 'Edit sheet name
lastRow = Report.Cells(Rows.Count, 1).End(xlUp).Row
'For Each c In Report.Range("A2:A10") 'Assumes header row
For i = 2 To lastRow
'Set fVal = Report.Range("E2:E" & lastRow).Find(c.Value, LookIn:=xlValues, LookAt:=xlWhole)
Set fVal = Report.Range("E2:E" & lastRow).Find(Report.Cells(i, 1).Value, LookIn:=xlValues, LookAt:=xlWhole)
If Not fVal Is Nothing Then
'c.Interior.ColorIndex = 6
Report.Cells(i, 1).Interior.ColorIndex = 6
Report.Cells(i, 8) = Report.Cells(i, 1)
Report.Cells(i, 9) = Report.Cells(i, 2)
Report.Cells(i, 10) = Report.Cells(i, 3)
Else
Report.Cells(i, 13) = Report.Cells(i, 1)
Report.Cells(i, 14) = Report.Cells(i, 2)
End If
Next
End Sub
1 回答
我认为这样做你想要的 . 使用Resize也缩短了代码 . 您需要参考您找到的单元格(在这种情况下,我理解的是右侧的一个单元格) .