爱问知识人 爱问教育 医院库

EXCEL中VBA的问题

首页

EXCEL中VBA的问题

本例中有一个最简单的公式,C1=A1+B1.如果整个C列都是如此公式,即从C1=A1+B1一直到C65536=A65536+B65536,那C列每个单元格都要有一个公式,数据会变得很大,可不可以用VBA解决这个问题呢?

本例中有一个最简单的……
提交回答
好评回答
  • 2008-03-16 20:45:30
      1、按“ALT+F11”进入VBE;
    2、“插入”-》“模块”;
    3、在右侧编辑窗口贴入以下代码:
    '==从下行开始复制代码
    Sub C列求和()
    Application。ScreenUpdating = False
    With Sheets("sheet1")。
      Columns(3) 。FormulaR1C1 = "=RC[-2]+RC[-1]" 。Copy 。PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False End With Application。
      
      CutCopyMode = False Application。ScreenUpdating = True End Sub '==至上行代码复制结束 4、返回数据区,按“ALT+F8”激活运行宏的对话框,运行“C列求和”就成功了。 BTW,你在这个表里用这么简单的公式,不会影响速度,数据量也有限,当然如果公式很长,或者运算的数据都很大的话是另外一回事。

    è***

    2008-03-16 20:45:30

其他答案

    2008-03-16 20:49:25
  •   Sub xx()
    Dim i&
    Dim arr, brr, crr()
    aa = Timer
    Application。ScreenUpdating = 0
    arr = Range("a1:a65536")
    brr = Range("b1:b65536")
    For i = 1 To 65536
    ReDim Preserve crr(1 To 1, 1 To i)
    crr(1, i) = arr(i, 1) + brr(i, 1)
    Next
    Range("c1:c65536") = Application。
      WorksheetFunction。Transpose(crr) Application。ScreenUpdating = 1 MsgBox ("用时" & Timer - aa & "秒") End Sub 学长的速度要比我快近4倍,只是含有公式,文件要大一点 。
      

    s***

    2008-03-16 20:49:25

类似问题

换一换

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):