各位大神,小弟还是菜鸟,想请教一下:
最终目的是根据sheet1中的数填写出sheet2的表格。
首先,我的sheet1中行数列数不定,会增会减,所以需要先自动统计行数列数,
rts2 = Sheets("sheet1").UsedRange.Rows.Count
cts2 = Sheets("sheet1").UsedRange.Columns.Count
For j = 4 To cts2
。。。
这步好理解。
然后,需要再设定两个range
cs3 = Sheets("Sheet1").Range(Cells(2, 3), Cells(rts2, 3))
cs4 = Sheets("Sheet1").Range(Cells(2, j), Cells(cts2, j))
大神们应该可以看出,我的意图是定义两个range分别代表第三列和第j列(都从第二行开始读数),由于行和列都不定,所以只能用rts2和cts2,以及j表示。
最后,我想用countifs函数
Sheets("Sheet1").Activate
name2 = Cells(1, j)
Sheets(name2).Activate
Sheets(name2).Cells(3, 3) = Application.WorksheetFunction.CountIfs(cs4, 1, cs3, 0)
Sheets(name2).Cells(4, 3) = Application.WorksheetFunction.CountIfs(cs4, 2, cs3, 0)
。。。
我想在新建的sheet中的c3填入符合条件1,0的总数,C4中填入符合条件2, 0 的总数,但这步提示
“不能取得类worksheetfunction的countifs属性”。
本人用的是最笨的办法,但已经写了一堆code了,不想删除,只能接着写,办法还算可行,之前没有统计总行数和列数,只是假设有1000行1000列,code相对于现在的简单一些,虽不太智能但能正常运行且把正确的数填了进去,现在这么一改不对了……试了半天也不行,忘各位大神能帮帮忙看看哪里有问题。
放上来的code只是一小片段,如果大神们需要看整个的我可以单独发送过去,如果不行我就只能再用笨办法了,直接设定最大行数为 65535了。。。
求教了!