ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 兰色幻想

[原创] 带你入门VBA,第二讲

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2004-10-5 15:52 | 显示全部楼层

如选取Sheet1第一行有内容单元格区域(假设A1不为空):

sheets("sheet1").range("a1",range("a1").end(xltoright)).select

选取B列有内容单元格区域:(假设B1不为空):

sheets("sheet1").range("B1",range("B65536").end(XLUP)).select

[此贴子已经被作者于2004-10-5 15:58:42编辑过]

TA的精华主题

TA的得分主题

发表于 2004-10-5 16:30 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

a = Application.WorksheetFunction.CountIf(Range("b:b"), ">106") If a > 1 Then MsgBox "大于106的数有" & a & "个", 1 最后这个,1 怎么解释;a 这个变量是不是省略了dim的声明,不声明也行吗?

兰老师的最后一句中的 1+64,怎么解释

TA的精华主题

TA的得分主题

 楼主| 发表于 2004-10-5 16:37 | 显示全部楼层
以下是引用老荷才露在2004-10-5 16:30:00的发言:

a = Application.WorksheetFunction.CountIf(Range("b:b"), ">106") If a > 1 Then MsgBox "大于106的数有" & a & "个", 1 最后这个,1 怎么解释;a 这个变量是不是省略了dim的声明,不声明也行吗?

兰老师的最后一句中的 1+64,怎么解释

其实这个程序是加了个判断,如果统计的结果有>106的值(即A>1)就显示提示对话框,否则就不显示,

1+64参考下面的贴子:

http://club.excelhome.net/dispbbs.asp?boardid=5&star=13&replyid=297359&id=62008&skin=0&page=1

变量在程序中如果事先约定,就必须声明,如果没有约定,就根据实际情况而定,一般来说声明最好,这样可以减少运行程序所占用的内存.

注:约定:相关图片如下(VBE编辑器---工具---选项)

[此贴子已经被作者于2004-10-5 16:42:06编辑过]
dnTJJJoZ.bmp

TA的精华主题

TA的得分主题

发表于 2004-10-5 17:33 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
以下是引用兰色幻想在2004-10-5 13:51:00的发言:

现在在原来题的基础上,求B列>106数的个数(包括刚才求单元格B16),并用对话框的形式显示出来

这一问我的已经可以了,我就想在这基础上,同时满足<112的个数,怎么就不行了,试了这么久,还是不行。帮我写一下,让我看看,谢谢!

“继续,把B列>106且<112的数所在单元格填充为红色”,这一问我还没有做到呢?

TA的精华主题

TA的得分主题

 楼主| 发表于 2004-10-5 17:57 | 显示全部楼层
以下是引用先锋在2004-10-5 17:33:00的发言:

这一问我的已经可以了,我就想在这基础上,同时满足<112的个数,怎么就不行了,试了这么久,还是不行。帮我写一下,让我看看,谢谢!

“继续,把B列>106且<112的数所在单元格填充为红色”,这一问我还没有做到呢?

For i = 1 To Range("B65536").End(xlUp).Row If Cells(i, 2) > 106 And Cells(i, 2) < 112 Then Cells(i, 2).Interior.ColorIndex = 3 End If Next

E1sZHOgF.rar (5.99 KB, 下载次数: 401)

TA的精华主题

TA的得分主题

发表于 2004-10-5 21:33 | 显示全部楼层
Sub 矩形1_单击() Dim i As Integer For i = 1 To 15 Cells(i, 2) = i + 100 Next i Cells(i, 2).Value = Application.WorksheetFunction.Sum(Range("b1", Range("b65536").End(xlUp))) MsgBox "清除最后单元格内容", vbOKOnly Cells(Range("b65536").End(xlUp).Row, 2).ClearContents For i = 1 To Range("b65536").End(xlUp).Row If Cells(i, 2) > 106 And Cells(i, 2) < 112 Then Cells(i, 2).Interior.ColorIndex = 3 End If Next i End Sub

TA的精华主题

TA的得分主题

发表于 2004-10-5 23:52 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

很好,跟着学一学。

TA的精华主题

TA的得分主题

发表于 2004-10-6 10:47 | 显示全部楼层
今天还继续吗?这和顶置的快快一齐学VBA有冲突吗?

TA的精华主题

TA的得分主题

发表于 2004-10-6 10:49 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
今天什么时候开讲呀!!

TA的精华主题

TA的得分主题

发表于 2004-10-6 14:51 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

请问兰色幻想

For i = 1 To Range("B65536").End(xlUp).Row If Cells(i, 2) > 106 And Cells(i, 2) < 112 Then Cells(i, 2).Interior.ColorIndex = 3 End If Next 里的Cells(i, 2).Interior.ColorIndex = 3是什么意思能解释一下吗?

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

本版积分规则

关闭

最新热点上一条 /1 下一条

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-19 07:58 , Processed in 0.033231 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表