注意:这个是我突然想合并两个Excel是做的某列值随机判断进行赋值的VBA执行脚本,如果要更改可自行根据需求更改;
Sub loopDb()
Set dbsheet1 = ThisWorkbook.Sheets("Sheet1") ---获取第一个页签
Set dbsheet2 = ThisWorkbook.Sheets("Sheet2") ---获取第二个页签
lr1 = dbsheet1.Cells(Rows.Count, 1).End(xlUp).Row ---获取第一个页签行数
lr2 = dbsheet2.Cells(Rows.Count, 1).End(xlUp).Row --- 获取第二个页签行数
For x = 5 To lr1 --- 循环第一个页签行数
act1 = dbsheet1.Cells(x, 3) ---获取第一个页签行数开始值(即姓名),第一个参数表示从第几行,第二个是第几列
For y = 2 To lr2 ---循环第二个页签行数
act2 = dbsheet2.Cells(y, 1) ---获取第二个页签行数开始值(即姓名),第二个参数表示从第几行,第二个是第几列
If act2 = act1 Then ---对比第一个页签是否在第二个页签存在,第一个页签每个名字会和第二个页签的名字全部对比一遍
---下面这两个就是赋值了,Cells(x, 7) 表示获取到页签第几行 第几列值 前面是接收值 后面是获取值赋给前面的
dbsheet1.Cells(x, 7).Value = dbsheet2.Cells(y, 2).Value
dbsheet1.Cells(x, 8).Value = dbsheet2.Cells(y, 3).Value
Else
End If
Next y
Next x
End Sub