VibInfo 发表于 2006-11-10 07:47

在 Excel 中编写 VBA 程序提高工作效率

在学生成绩统计时,要将工作表中成绩小于 60 的数字标记为红色,如果表非常多,则手工操作十分麻烦,也容易出错。这时,可以编写一段 vba 程序来实现,既快又准确。在 excel 中打开工作表,在“工具”菜单中选择“宏”子菜单下的“宏…”,在弹出的“宏”对话框中输入宏名,如 hong,然后单击“创建”按钮,随后出现“microsoft visual basic”窗口,在模块窗口中输入以下语句,再返回 excel 界面执行宏即可。
   sub 标记成绩()
    for i = 2 to 100
   for j = 2 to 20
   score = activesheet.cells(i, j)
   if score < 60 then
       activesheet.cells(i, j).font.colorindex = 3 '3 = 红色
   else
       activesheet.cells(i, j).font.colorindex = 1 '1 = 黑色
   end if
   next i
    next j
   end sub

lihuanew 发表于 2006-11-11 08:16

看来无老的学生真是多啊!

nymail 发表于 2007-1-5 10:34

感谢楼主,编译了一下,楼主有的小错误。

suffer 发表于 2007-1-6 20:01

原帖由 nymail 于 2007-1-5 10:34 发表
感谢楼主,编译了一下,楼主有的小错误。


是有点错误,修正后如下:
   sub 标记成绩()
    for i = 2 to 100
   for j = 2 to 20
   score = activesheet.cells(i, j)
   if score < 60 then
       activesheet.cells(i, j).font.colorindex = 3 '3 = 红色
   else
       activesheet.cells(i, j).font.colorindex = 1 '1 = 黑色
   end if
   next j
    next i
   end sub

05115237 发表于 2007-1-7 10:47

请教各位大侠

我有几组个数不等的速度数据,想求出他们的加速度值,如何去求?在excel中,谢谢各位!

suffer 发表于 2007-1-8 15:33

原帖由 05115237 于 2007-1-7 10:47 发表
我有几组个数不等的速度数据,想求出他们的加速度值,如何去求?在excel中,谢谢各位!

Excel没有直接求导的函数,不过如果是数值求导的话,可以自己使用导数关系式实现

05115237 发表于 2007-1-8 18:01

详细

能说一下用哪个公式吗?线性可以吗?

suffer 发表于 2007-1-9 08:34

原帖由 05115237 于 2007-1-8 18:01 发表
能说一下用哪个公式吗?线性可以吗?


y(i+1)-y(i)
------------
x(i+1)-x(i)

当然也可以是其他差分公式

qyu0635 发表于 2008-5-30 15:42

不错的。很好用,以前是浪费精力了。

mojun 发表于 2008-6-22 13:24

受教了,我一定要试一下。谢谢LZ
页: [1]
查看完整版本: 在 Excel 中编写 VBA 程序提高工作效率