Range("R5").Select
    ActiveCell.FormulaR1C1 = "=SUM(RC[-15]:RC[-1])"
    Selection.AutoFill Destination:=Range("R5:R24"), Type:=xlFillDefault
    Range("R5:R24").Select高手一看就明白:这是一个复制公式的语句,在EXCEL是这样操作的,拖住R5格,往下拖到你想复制的那一格,然后松手。这样所有的被选择格的公式都被设置成R5格的
公式。但是在VB中这样写却不行?难道VB不Support这种Autofill方法?

解决方案 »

  1.   

    你直接这样就贴到VB里,就想运行了,
    大哥,不会吧,首先,也要引用一下,Excel对象库吧?Range("R5").Select 这句也不能这样写呀,最起码,前面也要有Range对象的父级呀,比如myexcexlapp.mysheet(1).range 吧
      

  2.   

    试试这样:Private Sub Command2_Click()
    Dim xlApp As Excel.Application
        Dim xlBook As Excel.Workbook
        Dim xlSheet As Excel.Worksheet
        Set xlApp = CreateObject("Excel.Application")
        Set xlBook = xlApp.Workbooks.Open("c:\b.xls")
        Set xlSheet = xlBook.Worksheets(1)
        xlApp.Visible = False
    With xlSheet
            Range("R5").Select
        ActiveCell.FormulaR1C1 = "=RC[-17]^2"
        Selection.AutoFill Destination:=Range("R5:R24"), Type:=xlFillDefault
        Range("R5:R24").Select
          xlBook.Save
          Set xlSheet = Nothing
           Set xlBook = Nothing
           xlApp.Quit
           Set xlApp = Nothing
          MsgBox "ok"
    End WithEnd Sub我做的测试是求A列的数的乘方,你把公式("=RC[-17]^2")修改为你想要的就可以了。