这个excel vba 小程序怎么写,在线等!!

来源:百度知道 编辑:UC知道 时间:2024/06/24 14:51:59
有两个excel文件 ,其中一是存放原始数据用,有两列,第一列叫学号,第二列叫成绩计算公式,如下
学号 成绩计算公式
1 C1+D1+E1
3 E2+F2+S2
9 A3+D3+V3
11 C4+D4+E4
......

sheet2 有5列,第一列为学号,第二列是公式,空白的,请问怎么写一个VBA程序,让sheet2的第二列自动填写对应的sheet1中的公式,公式来自sheet1
比如
学好 公式 成绩1 成绩2 成绩3 成绩5
3
1
9
11
谢谢大家了。

我个人也认为可以用VLOOKUP解决这个问题,
不过既然楼主想要VBA解决,
我就提供一个,因为我做的一个VBA中用到类似的功能

Dim AX As Long
Dim BX As Long
BX = 1
Do Until BX = 65536
For AX = 1 To 65536
If Sheets(2).Cells(BX, 1).Value = Sheets(1).Cells(AX, 1).Value Then
Sheets(2).Cells(BX, 2).Value = Sheets(1).Cells(AX, 2).Value
End If
Next
BX = BX + 1
Loop

这根本就不用VBA:
给你一个办法:
在你的sheet2表中点“插入”,名称,定义,
弹出的窗口中,第一行是名称名,随便你输入,如,AA
最下边一行引用位置输入=evaluate(VLOOKUP(A2,Sheet1!A:B,2,0))
确定。
你在你要放置公式结果的位置如B2单元格内直接输入:=AA并向下拖动填充。
这样sheet2中的B列就会根据A列中的学号到sheet1中去选择合适的成绩计算公式,然后再根据公式在当前的sheet2表中去找到成绩的计算单元格,算出总成绩。
如,你的学号是3,则成绩的计算公式是E2+F2+S2 则这个单元格内显示的是sheet2表中E2+F2+S2 这三个单元格内数据的和。

咳!你好:
这道题好像你有问过,仍按那个函数操作就行:
在Sheet2中的B1输入
=IF(A1<>"",VLOOKUP(A1,Sheet1!$A$1:$B$100,2,FALSE),"") ,然后向下填充。
http://