1234

ExcelHome技术论坛

用户名  找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

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

[复制链接]

TA的精华主题

TA的得分主题

发表于 2004-12-18 17:10 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
以下是引用兰色幻想在2004-10-18 10:58:00的发言:

这个有点复杂:

下面是选取A1:A10和C1:C10的区域

I = 1 J = 10 Range("A" & I & ":A" & J & ",C" & I & ":C" & J).Select

兰老师, 这里Range("A" & I & ":A" & J & ",C" & I & ":C" & J).Select 不懂, 能否加以详细解释, 谢谢。

TA的精华主题

TA的得分主题

发表于 2004-12-19 04:27 | 显示全部楼层

兰老师, 这里Range("A" & I & ":A" & J & ",C" & I & ":C" & J).Select 不懂, 能否加以详细解释

因为 I=1, J=10,

所以上面的语句实际上为Range("A" & 1& ":A" & 10& ",C" & 1& ":C" & 10).Select 不懂, 能否加以详细解释

&为连接符,上面的语句变为Range("A1:A10,C1:C10").Select

TA的精华主题

TA的得分主题

发表于 2004-12-19 11:40 | 显示全部楼层

建议将版主将此帖移至EXCEL程序开发板块去。

EXCEL的主题词是“不涉及编程操作的各种应用”

TA的精华主题

TA的得分主题

发表于 2005-1-1 23:23 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
以下是引用兰色幻想在2004-10-5 11:14:00的发言:

昨天由于上不了网,只好今天重新开始,

如果你对VBA很兴趣,现在又有时间(不能半途而废),还要做出下面的习题后,马上跟贴。如果做不出习题,请参考第一讲的内容,不懂的在第一讲后跟贴提问。

只限三名

习题:

第一讲链接:

http://club.excelhome.net/viewthread.php?tid=64171

Sub 按钮2_单击() Dim i As Integer For i = 1 To 15 Cells(i, 2) = i + 100 Next Cells(i, 2) = Application.WorksheetFunction.Sum(Cells(1, 2), Cells(15, 2)) End Sub

TA的精华主题

TA的得分主题

发表于 2005-1-2 14:49 | 显示全部楼层

我下面的语句错在那里?错误原因是对象不支持该属性或方法!

Sub b() Dim i As Integer For i = 1 To 15 Sheets("sheet1").Cells(i, 2) = i + 100 Next With Application.WorksheetFunction Cells(i, 2).Value = .Sum(Range("b1:b15")) a = .CountIf(Range("b1:b16"), ">106") End With For i = 1 To Range("b65536").End(xlUp).Row If Cells(i, 2) > 106 And Cells(i, 2) < 112 Then Cells(i, 2).interion.ColorIndex = 3 End If Next If a > 1 Then MsgBox "大于数值106的个数为:" & a End If End Sub

TA的精华主题

TA的得分主题

发表于 2005-1-2 18:55 | 显示全部楼层
Sub 矩形2_单击() Dim i, a As Integer For i = 1 To 15 Sheets("sheet1").Cells(i, 2) = i + 100 Next With Application.WorksheetFunction Cells(i, 2).Value = .Sum(Range("b1:b15")) a = .CountIf(Range("b1:b16"), ">106") End With For X# = 1 To Range("b65536").End(xlUp).Row If Cells(i, 2) > 106 And Cells(i, 2) < 112 Then Cells(i, 2).interion.ColorIndex = 3 End If Next If a > 1 Then MsgBox "大于数值106的个数为:" & a End If End Sub

TA的精华主题

TA的得分主题

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

可能是你给I赋予了两个值.

个人观点

TA的精华主题

TA的得分主题

发表于 2005-1-3 16:57 | 显示全部楼层
以下是引用兰色幻想在2004-10-5 11:14:00的发言:

昨天由于上不了网,只好今天重新开始,

如果你对VBA很兴趣,现在又有时间(不能半途而废),还要做出下面的习题后,马上跟贴。如果做不出习题,请参考第一讲的内容,不懂的在第一讲后跟贴提问。

只限三名

习题:

第一讲链接:

http://club.excelhome.net/viewthread.php?tid=64171

兰老师:

这是我做的

Sub °´Å¥2_µ¥»÷() Dim i As Integer Dim yy As Integer yy = 101 For i = 1 To 15 Sheets("sheet1").Cells(i, 2) = yy yy = yy + 1 Next i Cells(i, 2) = Application.WorksheetFunction.Sum(Range("b1:b15"))

End Sub

TA的精华主题

TA的得分主题

发表于 2005-1-3 17:00 | 显示全部楼层
以下是引用月黑风高在2004-10-5 13:32:00的发言:

发现问题:如果用下面的程序,最后是在B15和B16单元格同时出现“1620”这个运算结果,不知是什么原因?

Sub 按钮2_单击()

Dim i As Integer

Dim x As Integer

For i = 1 To 15 Sheets("Sheet1").Cells(i, 2) = i + 100 Next Range("b16").Value = Application.WorksheetFunction.Sum(Range("b1:b15"))

x = Application.WorksheetFunction.CountA(Columns("b"))

Cells(x + 1, 2) = Application.WorksheetFunction.Sum(Range("b1:b15"))

End Sub

f:\1.bmp

如果将Cells(x + 1, 2) 里面的“+ 1”去掉就没问题了,兰色幻想可以解释一下吗?

x总共运行了16次,由于x=16时,退出循环,所以cells(x+1,2)为b17

TA的精华主题

TA的得分主题

发表于 2005-1-3 17:14 | 显示全部楼层
以下是引用兰色幻想在2004-10-5 14:03:00的发言:

代码如下:

Sub 矩形4_单击() For i = 1 To Range("B65536").End(xlUp).Row If Cells(i, 2) > 106 Then K = K + 1 End If Next MsgBox "大于106数值个数有" & K & "个", 1 + 64, "统计信息" End Sub

Sub 按钮4_单击() Dim i As Integer Dim yy As Integer Dim tt As Integer tt = Application.WorksheetFunction.CountA(Range("b:b")) For i = 1 To tt If Sheets("sheet1").Cells(i, 2) > 106 Then yy = yy + 1 Next i MsgBox "大于106数值个数有" & yy & "个", 1 + 64, "统计信息" End Sub

这是我编的,好像有点麻烦!!!

请问,在什么地方可以系统的学习vba的一些语法,比如msgbox的语法,上面的msgbox还是抄的兰老师的,但是不懂!!!尤其是1 + 64???

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

本版积分规则

1234

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

GMT+8, 2025-4-24 05:23 , Processed in 0.025392 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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