Excel精英培训网

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

[已解决]如何表达区域并求和

[复制链接]
发表于 2016-12-24 21:14 | 显示全部楼层 |阅读模式
本帖最后由 love_liwu 于 2016-12-24 21:16 编辑

各位老师,平安夜快乐。现有个问题,那就是如何用VBA自动获取区域,假设在R6输入8,则表示选取区域为B1:I65536,假设在R6输入6,则表示选取区域为B1:G65536,即区域未定。用VBA代码如何书写?For Each rg In Range("B1:G" & Range("G65536").,如果在区域内任何一个单元格变化,则A1-A65536=sum(区域)。我想说这个G怎么表示,它是一个变量。不知道,这么说表达清楚没。如何实现,请老师们指导下。

问题.zip (7.08 KB, 下载次数: 4)
发表于 2016-12-24 23:27 | 显示全部楼层
  1. Sub test()
  2. Dim rng As Range, i%
  3. i = Cells(6, "r")
  4. Set rng = Range("b1").Resize(65536, i)
  5. rng.Select
  6. End Sub
复制代码
"For Each rg In Range("A1:E" & Range("E65536").,如果在区域内任何一个单元格变化,则A1-A65536=sum(区域)"看不懂
回复

使用道具 举报

发表于 2016-12-25 09:19 | 显示全部楼层
1)学习如何查看帮助。比如Range.Resize 属性
2)循环范围尽量小。
回复

使用道具 举报

 楼主| 发表于 2016-12-25 10:31 | 显示全部楼层
望帝春心 发表于 2016-12-24 23:27
"For Each rg In Range("A1:E" & Range("E65536").,如果在区域内任何一个单元格变化,则A1-A65536=sum(区 ...

感谢老师关注,我的意思是:
1、确定区域,即根据R6的数字判断区域;
2、使用worksheet_change事件,即假设R6为8,表示的是B1:I65536区域,区域内每一行每个单元格变动,即假设第一行,区域为B1:I1,B1、C1、D1、E1、F1、G1、H1、I1任意单元格变动,A1=sum(B1:I1),以此类推。
不知道这样表示清楚不?
回复

使用道具 举报

 楼主| 发表于 2016-12-25 10:34 | 显示全部楼层
爱疯 发表于 2016-12-25 09:19
1)学习如何查看帮助。比如Range.Resize 属性
2)循环范围尽量小。

在感谢超级版主的帮助。
回复

使用道具 举报

发表于 2016-12-26 08:40 | 显示全部楼层
love_liwu 发表于 2016-12-25 10:31
感谢老师关注,我的意思是:
1、确定区域,即根据R6的数字判断区域;
2、使用worksheet_change事件,即 ...

大概明白了,你这个问题用函数都能解决应该
回复

使用道具 举报

发表于 2016-12-26 09:30 | 显示全部楼层    本楼为最佳答案   
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     If Intersect(Target, Range("b:b").Resize(, Cells(6, "r"))) Is Nothing Then
  3.         Exit Sub
  4.     End If
  5.     Cells(Target.Row, 1).FormulaR1C1 = "=sum(rc2:rc" & Cells(6, "r") + 1 & ")"
  6. End Sub
复制代码

评分

参与人数 1 +3 收起 理由
love_liwu + 3 来学习

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2016-12-26 12:28 | 显示全部楼层
望帝春心 发表于 2016-12-26 08:40
大概明白了,你这个问题用函数都能解决应该

公式是可以解决,但我想的是VBA怎么解决。感谢老师。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-28 22:48 , Processed in 0.562847 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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