电子表格中VBA代码如何用for循环获取列区域值?

例如:sheets("1").range("c60")=Application.WorksheetFunction.Max(range("c4:c50")sheets("... 例如:
sheets("1").range("c60")= Application.WorksheetFunction.Max(range("c4:c50")
sheets("1").range("f60")= Application.WorksheetFunction.Max(range("f4:f50")
sheets("1").range("i60")= Application.WorksheetFunction.Max(range("i4:i50")
sheets("1").range("l60")= Application.WorksheetFunction.Max(range("l4:l50")

我用for循环如下:
For m = 1 To 4
sheets("1").Cells(60, 3 * m) = Application.WorksheetFunction.Max(Range(?) ‘求区间中最大值
sheets("1").Cells(61, 3 * m) = 这里的值是统计大于60的个数
Next m

其中问号(?) 如何写?让其表示range("a4:a50"),range("f4:f50"),range("i4:i50") ,range("l4:l50") ?
大于60的个数如何统计?
展开
 我来答
ExcelPower
2018-01-12 · 专业Excel公式图表数据分析VBA
ExcelPower
采纳数:4495 获赞数:11862

向TA提问 私信TA
展开全部
For m = 1 To 4
sheets("1").Cells(60, 3 * m) = Application.WorksheetFunction.Max(cells(4,3*m).resize(1,47)) ‘求区间中最大值
sheets("1").Cells(61, 3 * m) = Application.WorksheetFunction.countif(cells(4,3*m).resize(1,47),">60") '这里的值是统计大于60的个数
Next m
==========
Resize 和offset 属性 类似 offset函数公式
建议用数组来算, 还好只有4个,要是 几万级别的,引用单元格效率会很低
追问
cells(4,3*m).resize(1,47)    中的47什么意思啊?这个好像不对哦。
要改成cells(4,3*m).resize(1,1) 才出正确答案哦。
追答

写反了, cells(4,3*m).resize(47,1) 

就是扩充多少行 ,多少列

47 只是 代表 47行 

小蔡连长
2018-01-12 · 超过10用户采纳过TA的回答
知道答主
回答量:27
采纳率:44%
帮助的人:9.3万
展开全部
你好,看你写的代码应该有挺深的基础,我举个例子你应该能举一反三:
Cells(60, 3) = Application.WorksheetFunction.Max(Range(Cells(4, 3), Cells(50, 3)))
Cells(61, 3) = Application.WorksheetFunction.CountIf(Range(Cells(4, 3), Cells(50, 3)), ">40")
按照上边的格式来写就可以
单元格的另一种表达方式:Range(cells(1,1),cells(10,2),
这个意思就相当于Range("A1:B10")
以上的例子可以把cells里边的数字换成变量即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式