有两个excel文件 ,其中一是存放原始数据用,有两列,第一列叫学号,第二列叫名称,如下
学号 名称
1 小明
3 小方
9 小海
11 小张
......

第二个excel文件是临时文件,只有1列学号,请问怎么写一个VBA程序,让这个表的第二列自动填写对应的姓名,姓名来自第一个表的数据
比如
学好 姓名
3 3对应的是小方
1

展开全部
收起
5回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • betty

    15人对此回答表示赞同

    在表二(Sheet2)中的B1输入
    =IF(A1<>"",VLOOKUP(A1,Sheet1!$A$1:$B$100,2,FALSE),"")
    然后向下填充。

    IF——当A1输入数据时,(B1)显示,否则不显示;
    Sheet1!$A$1:$B$100——表二的A1查找的范围是表一的A1~B100,$A$1是绝对引用,当向下填充时,查找范围不变(B100是假设,最大可至Excel最末行,大概是25
    展开
    15
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • 雪中向日葵

    12人对此回答表示赞同

    不必用VBA程序,直接用vlookup即可,很简单.

    在第二个表里B1中输入=VLOOKUP(Sheet2!A1,Sheet1!A:A,1,FALSE),下拉公式即可。

    VLOOKUP 用法:http://zhidao.baidu.com/question/2541676.html

    有问题留
    展开
    12
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • Aaliyah

    11人对此回答表示赞同

    假设:原始数据在Sheet1,临时数据在Shee2,同时Shee2内的第1列数据已填好,那么,运行以下宏则可以自动算出Shee2内的第2列的值:

    至于你的补充,应该不会受到影响。

    Sub 宏1()
    ' 宏1 Macro
    ' ljl88900 记录的宏 2008-12-21

    Dim r1, c1, r2, c2
    Dim i, j, Uc(26) As String
    r1 = Active
    展开
    11
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • 大勇

    9人对此回答表示赞同

    Sub 写入()
    Dim i, j
    For i = 1 To 30 '假设表"sheet2"A列有数据少于30
    sh2str = Sheets("sheet2").Cells(i, 1)
    For j = 1 To 50 '假设表"sheet2"A列有数据少于50
    If sh2str = Sheets("sheet1").Cells(j, 1) The
    展开
    9
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • 那都不是事儿

    4人对此回答表示赞同

    1.把要填写的表放在sheet1中(一二两列)
    2.把来源表放在sheet2 中(一二两列)
    3.从控件工具箱中 拖放一个按钮 在sheet1中
    4.双击按钮,把下面的代码放在原有的两行之间,点击保存。
    5.回到sheet1,然后取消按钮编辑状态(点控件工具箱上的笔)
    6.点击按钮执行

    For i = 2 To 500 '这个500是需要填写表的数据行数,只要大于你的数据行数就行,改小一点速度快些
    Fo
    展开
    4
    0回复
    发布于 5年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部