您的位置:程序门 -> vb -> vba



100分求excel中编写vb程序处理sheet中数据的方法


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


100分求excel中编写vb程序处理sheet中数据的方法[已结贴,结贴人:wigin]
发表于:2007-06-01 09:58:59 楼主
具体要求如下:
sheet1中:a1、a2、a3中分别有数据5、6、7
现在需要编写vb程序,对上边数据进行复杂的函数处理,然后,结果在sheet2中的b1、c1、d1单元格展示。
sheet2中:
b1--sheet1的a1的阶乘(n!)。
c1--sheet1中a2的a1次方(6的5次方,当然不能写死,数据必须从a1,a2取)
d1--自然数从1开始,一直加,加到sheet1中a2和a3的乘积数为止的总和(1+2+3+……+42,也不能写死)
发表于:2007-06-01 10:00:511楼 得分:0
假设该xls文件是   exp01.xls,   vb的函数过程名就您取吧。
发表于:2007-06-01 11:43:592楼 得分:0
b1中     =fact(a1)
c1中     =a2^a1
d1中     =a2*a3*(a2*a3+1)/2
大哥,这用写程序吗?
发表于:2007-06-01 12:31:563楼 得分:50
'excel   vba方法:
function   jiechen(n   as   long)   as   long   'n> =0
      if   n   =   0   or   n   =   1   then
            jiechen   =   1
            exit   function
      else
            jiechen   =   n   *   jiechen(n   -   1)
      end   if
end   function

sub   run()
      dim   a1   as   long,   a2   as   long,   a3   as   long
      dim   b1   as   long,   c1   as   long,   d1   as   long
      a1   =   worksheets( "sheet1 ").range( "a1 ").value
      a2   =   worksheets( "sheet1 ").range( "a2 ").value
      a3   =   worksheets( "sheet1 ").range( "a3 ").value
      b1   =   jiechen(a1)
      c1   =   a2   ^   a1
      d1   =   a2   *   a3   *   (a2   *   a3   +   1)   /   2
      worksheets( "sheet2 ").range( "b1 ").value   =   b1
      worksheets( "sheet2 ").range( "c1 ").value   =   c1
      worksheets( "sheet2 ").range( "d1 ").value   =   d1
end   sub

发表于:2007-06-01 12:58:254楼 得分:50
'vb方法
'首先在菜单:工程-引用中选中   microsoft   office   11.0   object   library,视你机子上装的office版本而定
'创建一个窗体form1,在form1上添加一按钮command1,在form1内添加如下代码
function   jiechen(n   as   long)   as   long   'n> =0
      if   n   =   0   or   n   =   1   then
            jiechen   =   1
            exit   function
      else
            jiechen   =   n   *   jiechen(n   -   1)
      end   if
end   function

private   sub   command1_click()
      dim   xexl   as   object
      dim   a1   as   long,   a2   as   long,   a3   as   long
      dim   b1   as   long,   c1   as   long,   d1   as   long
      set   xexl   =   createobject( "excel.application ")
      xexl.workbooks.open   ( "c:\exp01.xls ")
      a1   =   xexl.worksheets( "sheet1 ").range( "a1 ").value
      a2   =   xexl.worksheets( "sheet1 ").range( "a2 ").value
      a3   =   xexl.worksheets( "sheet1 ").range( "a3 ").value
      b1   =   jiechen(a1)
      c1   =   a2   ^   a1
      d1   =   a2   *   a3   *   (a2   *   a3   +   1)   /   2
      xexl.worksheets( "sheet2 ").range( "b1 ").value   =   b1
      xexl.worksheets( "sheet2 ").range( "c1 ").value   =   c1
      xexl.worksheets( "sheet2 ").range( "d1 ").value   =   d1
      xexl.workbooks( "exp01.xls ").save
      xexl.workbooks( "exp01.xls ").close   (true)
end   sub


快速检索

最新资讯
热门点击