大家好:
我需要使用excel的工作表函数,用了语句:application.worksheetfunction,这个语句在通用模块内是可以正常运行的,但放在工作表级别的模块内却不能正常运行了,问了几天了,没有高人可以指点一下么?
代码如下:
Sheets(contract).Selectmohang = ActiveSheet.UsedRange.Rows.Countmolie = Sheets(contract).UsedRange.Columns.Countchongfu = Application.WorksheetFunction.CountIf(Range(Cells(1, 1), Cells(mohang, molie)), "设备名称")
请注意:这段代码放在通用模块内,运行的结果是chongfu=1,而放在sheets("合同")这个表的模块内,运行的结果是chongfu=0(解释一下:sheets(contract)是另外一个表)
放在哪个工作表模块内,Range(Cells(1, 1), Cells(mohang, molie))指的就是那个工作表的Range(Cells(1, 1), Cells(mohang, molie))
要转到当前工作表的Range(Cells(1, 1), Cells(mohang, molie)),必须改成这样:
chongfu = Application.WorksheetFunction.CountIf(ActiveSheet.Range(ActiveSheet.Cells(1, 1), ActiveSheet.Cells(mohang, molie)), "设备名称")
使用道具 举报
问题应该就是这红色部分的代码:
CountIf(Range(Cells(1, 1), Cells(mohang, molie))
这些表示单位格区域的都带个前缀试试..
关键是你这些Range(Cells(1, 1), Cells(mohang, molie))
有没有特指的表格
原来如此啊!!非常感谢!!
本版积分规则 发表回复 回帖后跳转到最后一页
小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )
GMT+8, 2024-6-6 18:27 , Processed in 1.024096 second(s), 5 queries , Gzip On, Yac On.
Powered by Discuz! X3.4
Copyright © 2001-2020, Tencent Cloud.