100分请教一个合计宏的写法,来挑战一下自己,谢谢!

forgot2000 2008-03-08 03:15:22
参数有四个,首列名,末列名,首行,末行,TestSum(“B”,”G”,10,15)

运行之后如下:
B16=sum($B$10:$B$15)
C16= sum($C$10:$C$15)
如此类推:
一直到G16=sum($G$10:$G$15)

请热心的朋友指点,谢谢!
...全文
69 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zipall 2008-03-09
  • 打赏
  • 举报
回复
晕,这个也要代码?
直接在b16输入 =sum(b1:b15),用填充柄向右填充就可以了啊

一定要用代码的话,下面的代码可能更简单

Sub TestSum(x As String, y As String, m As Long, n As Long)
Range(x & n + 1 & ":" & y & n + 1).FormulaR1C1 = "=SUM(R[" & m - n - 1 & "]C:R[-1]C)"
End Sub
homesos 2008-03-09
  • 打赏
  • 举报
回复
唉!
应该提供思路,不要直接提供代码,虽然有一时之便,却不利于提问题人的发展。
ChinaOBS 2008-03-08
  • 打赏
  • 举报
回复
试试下面的代码:
Sub TestSum(ByVal sCol As String, ByVal eCol As String, ByVal sRow As Long, ByVal eRow As Long)
On Error Resume Next
Dim i As Long
Dim Sht As Worksheet
Set Sht = ActiveSheet
With Sht
For i = .Range(sCol & "1").Column To .Range(eCol & "1").Column
.Cells(eRow + 1, i).Formula = "=sum(" & .Cells(sRow, i).Address(1, 1) & ":" & .Cells(eRow, i).Address(1, 1) & ")"
Next
End With
End Sub
Sub Test()
TestSum "B", "G", 10, 15
End Sub
homesos 2008-03-08
  • 打赏
  • 举报
回复
用VBA代码很容易实现啊

循环嵌套就可以完成。


//获取单元格值
值 = Worksheets("工作簿名称").Cells(行索引,列索引).Value

//给单元格赋值
Worksheets("工作簿名称").Cells(行索引,列索引).Value = 值 //行索引、列索引从1开始



forgot2000 2008-03-08
  • 打赏
  • 举报
回复
試了很長時間都試不出來,請熱心的朋友幫幫忙,謝謝!

5,139

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧