设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 1969|回复: 17
打印 上一主题 下一主题

[急]请教一个EXCEL的问题,如何实现自动往下复制公式?

[复制链接]
跳转到指定楼层
1#
发表于 2003-2-22 17:22:00 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
EXCEL论坛没人回应,只好在此求助了,谢谢!

'问题:不指定l,m参数,如何实现自动往下复制公式?
Sub aaaa()
Dim i As Integer
Dim j As Integer
Dim l As Integer
Dim m As Integer
l = 10
m = 15
i = 4
j = 10
Range("C" & j & "").Select
Cells(10, 3).Formula = "=sum(B" & i & ":" & "B" & j & ")/7"
Selection.AutoFill Destination:=Range("C" & l & " : C" & m & "")

'已在cells(10,3)单元格中得到公式=sum(B4:B10)/7
'现在我想自动复制公式到本列以下的单元格
'(如:cells(11,3)、cells(12,3) ……中得到公式)
End Sub

[em26]文件下载
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
18#
发表于 2003-3-1 22:54:00 | 只看该作者
这个问题其实是很简单,不过很多少没这样去想,
因为现在根本没机会使用!!!

但这个问题是在 8088,8086 时代以前出现的(8088 早于 8086 早于 80286)
那时内存太紧张了,以至于一个变量的存储空间也不能多用.!!!
17#
发表于 2003-2-24 00:06:00 | 只看该作者
以下是引用Roadbeg在2003-2-22 10:38:28的发言:
精益求精,竹笛兄的精神令人佩服.
这使我想起了以前看到的一个经典例子:
如何不用第三个变量,交换两个变量的值?
解法非常精彩,不知各位高手可有兴趣解一解此题?


简单,我想了2分钟:
      a=3
      b=4
   
      a=a+b     'a=7

      b=a-b     'b=3

      a=a-b     'a=4

16#
发表于 2003-2-22 19:58:00 | 只看该作者
竹笛今天帖数到 9.11 了,有没有什么事要发生啊?  :-)
15#
 楼主| 发表于 2003-2-22 19:53:00 | 只看该作者
n是变动的。
14#
发表于 2003-2-22 19:42:00 | 只看该作者
方法应该只有这样了,但我觉得,把 已定参数l 的公式写在代码中应该更好.
至于 n天移动平均的 n 如果是固定的,也就不用设置为可变的了.
13#
发表于 2003-2-22 19:34:00 | 只看该作者
序号和余额可以自动填写,就是使用代码了自动复制公式的功能。
12#
发表于 2003-2-22 19:32:00 | 只看该作者

帖上我的例子

11#
发表于 2003-2-22 19:22:00 | 只看该作者
我这里面有一段代码,我一直在用的:
Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    Dim row1, con1 As Integer

    row1 = Target.Row
    con1 = Target.Column
   
    If con1 = 3 And Cells(row1, 3) <> "" Then
        Cells(row1, 2) = row1 - 2
    End If
   
    If con1 = 5 Or con1 = 6 Then
        Cells(row1, 7).Formula = "=SUM($E$3:E" & row1 & ")-SUM($F$3:F" & row1 & ")"
    End If
   
    Application.EnableEvents = True
End Sub


10#
 楼主| 发表于 2003-2-22 19:06:00 | 只看该作者
估计是精炼的解决之道,但还不是我最满意的:
Sub aaaa()
Dim i As Integer '确定行号
Dim l As Integer '确定行记录数
Dim n As Integer 'n天移动平均产量
n = Cells(3, 7) '确定几天的移动平均产量
i = n + 1 '确定第一个要写入公式的单元格
l = Cells(4, 7) '确定行记录数

Range("C" & i & "").Select
Cells(n + 1, 3).Formula = "=sum(B2:" & "B" & i & ")/" & n & ""
Selection.AutoFill Destination:=Range("C" & i & " : C" & l & "")
End Sub


[em26]文件下载
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-29 18:22 , Processed in 0.095206 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表