电子表格中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的个数如何统计? 展开
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的个数如何统计? 展开
2个回答
展开全部
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个,要是 几万级别的,引用单元格效率会很低
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(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里边的数字换成变量即可
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里边的数字换成变量即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询