Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1935|回复: 7

[已解决]求助:比较人名,写工号。

[复制链接]
发表于 2011-12-29 09:19 | 显示全部楼层 |阅读模式
我有个问题:表1 B列是人名,表2 B列是人名,A列是工号,怎么比较人名,并把工号写入表1的对应A列。用VBA写。 求助表.rar (3.98 KB, 下载次数: 30)
发表于 2011-12-29 09:28 | 显示全部楼层    本楼为最佳答案   
那么多人居然没有重名的,不得不说这是个奇迹.

Sub test()
    Sheets("sheet1").Select
    With Sheets("sheet2")
        For r = 2 To Range("b65536").End(xlUp).Row
            Set n = .Range("b:b").Find(Cells(r, 2), , , xlWhole)
            If Not n Is Nothing Then Cells(r, 1) = n.Offset(0, -1)
        Next
    End With
End Sub
回复

使用道具 举报

发表于 2011-12-29 09:32 | 显示全部楼层
求助表(VBA)(数组).rar (11.1 KB, 下载次数: 11)
回复

使用道具 举报

 楼主| 发表于 2011-12-29 09:33 | 显示全部楼层
Zipall 发表于 2011-12-29 09:28
那么多人居然没有重名的,不得不说这是个奇迹.

Sub test()

我试试。我们确实没有重名重姓,有重名但是没有重姓。
回复

使用道具 举报

 楼主| 发表于 2011-12-29 09:56 | 显示全部楼层
回复:2楼3楼你们都正确,我就仅先发的了。谢谢。
回复

使用道具 举报

 楼主| 发表于 2011-12-29 11:31 | 显示全部楼层
Zipall 发表于 2011-12-29 09:28
那么多人居然没有重名的,不得不说这是个奇迹.

Sub test()

我的同事问了一个新问题:如果表2  C2:N200有数据该怎样查找并且写入表1哪?宏如何改?

回复

使用道具 举报

发表于 2011-12-29 11:56 | 显示全部楼层
gmshe58 发表于 2011-12-29 11:31
我的同事问了一个新问题:如果表2  C2:N200有数据该怎样查找并且写入表1哪?宏如何改?

If Not n Is Nothing Then Cells(r, 1) = n.Offset(0, -1)
改为
If Not n Is Nothing Then
Cells(r, 1) = n.Offset(0, -1)
cells(r,3).resize(1,12)=n.offset(0,1).resize(1,12).value
end if
回复

使用道具 举报

 楼主| 发表于 2011-12-29 19:16 | 显示全部楼层
Zipall 发表于 2011-12-29 11:56
If Not n Is Nothing Then Cells(r, 1) = n.Offset(0, -1)
改为
If Not n Is Nothing Then

谢谢老师。好了。代表我的同事谢谢您。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-21 12:41 , Processed in 0.289337 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表