楼主: 0.0.01
1992 2

[问答] VBA range设定相关问题 [推广有奖]

  • 1关注
  • 0粉丝

初中生

33%

还不是VIP/贵宾

-

威望
0
论坛币
12 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
226 点
帖子
6
精华
0
在线时间
13 小时
注册时间
2015-1-12
最后登录
2022-5-2

楼主
0.0.01 发表于 2016-8-5 15:16:54 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
各位大神,小弟还是菜鸟,想请教一下:

最终目的是根据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了。。。


求教了!










二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:range RAN VBA Application worksheet Excel VBA VB 统计

沙发
caihaiyu 在职认证  发表于 2016-8-9 10:43:28
cs3,cs4的定义改成下面的试试
  1. set cs3 = Sheets("Sheet1").Range(Cells(2, 3), Cells(rts2, 3))
  2. set cs4 = Sheets("Sheet1").Range(Cells(2, j), Cells(cts2, j))
复制代码

藤椅
乌贼07 发表于 2016-9-16 22:56:48
楼上正解。
range对象的默认属性为value

cs3 = Sheets("Sheet1").Range(Cells(2, 3), Cells(rts2, 3))与以下代码等价:
cs3 = Sheets("Sheet1").Range(Cells(2, 3), Cells(rts2, 3)).value

意思是把range的赋予cs3

如果要把range对象赋予cs3,应该在前面加关键字set,同时养成良好的编程习惯,在变量使用前先声明变量,在对象变量使用完毕后,收回变量。

dim cs3 as range
set cs3 = Sheets("Sheet1").Range(Cells(2, 3), Cells(rts2, 3))

......
set cs3=nothing

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-29 21:58