Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3369|回复: 9

[已解决]求在工作表的有内容区域右下角单元格合计区域内的行列的值

[复制链接]
发表于 2012-4-3 14:26 | 显示全部楼层 |阅读模式
求在工作表的有内容区域右下角单元格合计区域内的行列的值
比如有内容区域为a1:h33
vba代码
在单元格i34填上"合计"
在i2:i33填上合计公式sum(b2:h2)
在b34:h34填上合计公式sum(b2:b33)
谢谢
最佳答案
2012-4-5 09:53

  1. Sub 区域汇总()
  2. Dim rng As Range
  3. Dim R%, C%
  4. With ActiveSheet
  5.    R = .UsedRange.Rows.Count    '有内容区域最大【行】号
  6.    C = .UsedRange.Columns.Count '有内容区域最大【列】号
  7.    On Error Resume Next
  8.    Set rng = .UsedRange.SpecialCells(xlCellTypeLastCell).Offset(1, 1)
  9.    If rng.Offset(-1, -1).Value = "合计" Then MsgBox "已填公式": Exit Sub
  10.       rng = "合计"
  11.       rng.Offset(1 - R, 0).FormulaR1C1 = "=SUM(RC[-" & C - 1 & "]:RC[-1])" '填入公式SUM(B2:H2)
  12.          .Range(rng.Offset(1 - R, 0), rng.Offset(-1, 0)).FillDown '下拉填充公式

  13.       rng.Offset(0, 1 - C).FormulaR1C1 = "=SUM(R[-" & R - 1 & "]C:R[-1]C)" '填入公式SUM(B2:B33)
  14.          .Range(rng.Offset(0, 1 - C), rng.Offset(0, -1)).FillRight '右拉填充公式
  15. End With
  16. End Sub
复制代码
发表于 2012-4-3 16:17 | 显示全部楼层

Sub MXG()

本帖最后由 mxg825 于 2012-4-3 16:21 编辑
  1. Sub MXG()
  2. Dim R%, C%
  3. R = UsedRange.Rows.Count '有内容区域最大【行】号
  4. C = UsedRange.Columns.Count '有内容区域最大【列】号
  5. Cells(R + 1, C + 1) = "合计"
  6. Cells(2, C + 1).FormulaR1C1 = "=SUM(RC[-" & C & "]:RC[-1])" '填入公式SUM(B2:H2)
  7. Range(Cells(2, C + 1), Cells(R, C + 1)).FillDown '下拉填充公式

  8. Cells(R + 1, 1).FormulaR1C1 = "=SUM(R[-" & R - 1 & "]C:R[-1]C)" '填入公式SUM(B2:B33)
  9. Range(Cells(R + 1, 1), Cells(R + 1, C)).FillRight '右拉填充公式

  10. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2012-4-3 16:24 | 显示全部楼层
mxg825 发表于 2012-4-3 16:17

请问老师!
要求对象
回复

使用道具 举报

发表于 2012-4-3 16:30 | 显示全部楼层
hcy1185 发表于 2012-4-3 16:24
请问老师!
要求对象
  1. Sub MXG()

  2. Dim R%, C%

  3. R = UsedRange.Rows.Count '有内容区域最大【行】号
  4. C = UsedRange.Columns.Count '有内容区域最大【列】号

  5. Cells(R + 1, C + 1) = "合计"

  6. Cells(2, C + 1).FormulaR1C1 = "=SUM(RC[-" & C - 1 & "]:RC[-1])" '填入公式SUM(B2:H2)
  7. Range(Cells(2, C + 1), Cells(R, C + 1)).FillDown '下拉填充公式

  8. Cells(R + 1, 2).FormulaR1C1 = "=SUM(R[-" & R - 1 & "]C:R[-1]C)" '填入公式SUM(B2:B33)
  9. Range(Cells(R + 1, 2), Cells(R + 1, C)).FillRight '右拉填充公式

  10. End Sub
复制代码

工作表的有内容区域右下角单元格合计区域内的行列的值.rar

6.86 KB, 下载次数: 9

回复

使用道具 举报

 楼主| 发表于 2012-4-3 17:13 | 显示全部楼层
mxg825 发表于 2012-4-3 16:30

回复老师!
1.公式不要包括首行和首列
2.加判断语句,如果有内容区域的右下角单元格="合计",退出代码
回复

使用道具 举报

发表于 2012-4-3 22:11 | 显示全部楼层
Sub MXG()



Dim R%, C%



R = UsedRange.Rows.Count '有内容区域最大【行】号

C = UsedRange.Columns.Count '有内容区域最大【列】号

if Cells(R + 1, C + 1) = "合计" then exit sub'新增这一句

Cells(R + 1, C + 1) = "合计"



Cells(2, C + 1).FormulaR1C1 = "=SUM(RC[-" & C - 1 & "]:RC[-1])" '填入公式SUM(B2:H2)

Range(Cells(2, C + 1), Cells(R, C + 1)).FillDown '下拉填充公式



Cells(R + 1, 2).FormulaR1C1 = "=SUM(R[-" & R - 1 & "]C:R[-1]C)" '填入公式SUM(B2:B33)

Range(Cells(R + 1, 2), Cells(R + 1, C)).FillRight '右拉填充公式



End Sub
回复

使用道具 举报

 楼主| 发表于 2012-4-3 23:03 | 显示全部楼层
mxg825 发表于 2012-4-3 22:11
Sub MXG()

老师您好!
我修改了一下代码,黄色单元格没有填完公式,请老师帮助,按现在的思路完善代码
在右下角合计.rar (15.58 KB, 下载次数: 7)
回复

使用道具 举报

 楼主| 发表于 2012-4-5 11:22 | 显示全部楼层
mxg825 发表于 2012-4-5 09:53

回复老师!
问题已经解决
有内容区域四角汇总.rar (20.49 KB, 下载次数: 12)
回复

使用道具 举报

发表于 2012-4-5 09:53 | 显示全部楼层    本楼为最佳答案   

  1. Sub 区域汇总()
  2. Dim rng As Range
  3. Dim R%, C%
  4. With ActiveSheet
  5.    R = .UsedRange.Rows.Count    '有内容区域最大【行】号
  6.    C = .UsedRange.Columns.Count '有内容区域最大【列】号
  7.    On Error Resume Next
  8.    Set rng = .UsedRange.SpecialCells(xlCellTypeLastCell).Offset(1, 1)
  9.    If rng.Offset(-1, -1).Value = "合计" Then MsgBox "已填公式": Exit Sub
  10.       rng = "合计"
  11.       rng.Offset(1 - R, 0).FormulaR1C1 = "=SUM(RC[-" & C - 1 & "]:RC[-1])" '填入公式SUM(B2:H2)
  12.          .Range(rng.Offset(1 - R, 0), rng.Offset(-1, 0)).FillDown '下拉填充公式

  13.       rng.Offset(0, 1 - C).FormulaR1C1 = "=SUM(R[-" & R - 1 & "]C:R[-1]C)" '填入公式SUM(B2:B33)
  14.          .Range(rng.Offset(0, 1 - C), rng.Offset(0, -1)).FillRight '右拉填充公式
  15. End With
  16. End Sub
复制代码

评分

参与人数 1 +3 收起 理由
hcy1185 + 3 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2012-4-11 11:30 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-14 11:24 , Processed in 0.419877 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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