ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[分享] 带你入门VBA(2004第一期)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2006-8-19 08:38 | 显示全部楼层
QUOTE:
以下是引用Angellong在2006-5-10 17:29:00的发言:

呵呵,学习了后面兰老师的那种方法居然成功了。而且简单好多。

新代码:

Sub CYS()
Dim x As Integer
Dim y As Integer
Dim c As Integer

For x = 1 To 12
  For y = 1 To 7
    If Cells(x, y).Interior.ColorIndex = 6 Then
    c = c + Cells(x, y)
     End If
  Next y
Next x
Cells(1, 8) = c
End Sub

你这里用c=c+cells(x,y)只是把满足条件的值求和,并没有把他们放在单元格中

希望大家不要嫌我烦,我这两天刚刚开始看兰老师的帖子,实在是太精彩了!

TA的精华主题

TA的得分主题

发表于 2006-8-19 10:35 | 显示全部楼层
QUOTE:
以下是引用HaoLiMing在2005-12-21 22:59:00的发言:
QUOTE:
以下是引用[I]兰色幻想[/I]在2005-12-21 22:30:00的发言:[BR]一个是清除全部,一个是清除内容,用哪个据情况而定
谢谢!
又:Clear和ClearContents哪个是清除全部?

可以尝试编辑--清除

Sub test()
'单元格的clear属性
Range("b5").ClearComments '清除批注
Range("b6").ClearContents '清除内容
Range("b7").ClearFormats  '清除格式
Range("b8").ClearOutline '这个好像是下划线,但没有测试成功
Range("B9").Clear   '清除全部内容
End Sub

TA的精华主题

TA的得分主题

发表于 2006-8-19 14:53 | 显示全部楼层
QUOTE:
以下是引用huozhe在2005-10-17 15:10:00的发言:

我想问一下循环进行完以后

Dim x As Integer
For x = 1 To 20
Sheets("sheet1").Cells(x, 1) = x
Next x

Sheets("sheet1").Cells(x, 1) = x

也就是最后这句还可以得出21来呢,不是说要X到20就结束了吗?能否给点解释?谢谢

注意:x退出循环后已经变成21

故最后a21也会返回21

TA的精华主题

TA的得分主题

发表于 2006-8-19 15:31 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
QUOTE:
以下是引用kakoi在2005-4-14 16:05:00的发言:
Sub 矩形1_单击()
Dim i As Integer
For i = 4 To 36
Sheets("sheet1").Range("ai") = i    / / Range("ai")=i
Next
End Sub
为什么不行

注意,你这里的i是个变量,所以必须用

Sheets("sheet1").Range("a" & i) = i   

TA的精华主题

TA的得分主题

发表于 2006-8-19 17:05 | 显示全部楼层

这帖子看的太累了,我整整花了三天的时间,有一半的帖子可以说是没有用的!

建议版主将一些谢谢、初次学习请多关照等等之类的帖子删除,没有什么价值!

同样也建议大家在法帖时发一些有意义的帖子,切莫在这里灌水!

我来个小小的总结吧!

一、单元格在vba中的表示方法

1、单一单元格  (1) range("a1") (2) cells(row,column) (3) range("a1").offset(row,column)

2、区域        (1) range("a1","c3") 注意表示a1:c3是一个区域  (2) [a1:c3]

               (3) range(cells(1,1),cells(3,3))

3、rows、columns分别表示行列的集合

(1) rows表示工作表中所有行,也就是所有的单元格   如:rows.select   类似于在工作表中ctrl+a

(2) columns表示工作表中所有列,也是所有的单元格 如:columns.select

(3) rows("1:3")表示工作表中的第一行到第三行  如:rows("1:3").select

(4) columns("a:c")表示工作表中的第一列到第三列   如:columns("a:c").select

注意这里不能使用columns("1:3"),columns(1)在引用单列时,参数可以是数值,如果是区域则不能

二、鼠标事件

1、mousedown当按下鼠标时触发该事件,button=1表示左键按下,button=2表示右键按下

2、mousemove当鼠标在对象位置改变时触发该事件

3、mouseup当在对象上释放鼠标时产生此事件

click、mouseup、mousedown的区别

mousedown按下没有松开始的那段时间

mouseup松开鼠标时

click表示整个过程,且不支持右键单击

三、对象在工作表中的定位

做了一个图粘贴不上,其实坐标主要涉及四个参数

(left,top,widht,height)

其中这些坐标都是相对于a1来说

四、工作表事件

     心得:在书写代码时,如有什么疑问可以选定单词按f1查看帮助,也可以使用msgbox或者按ctrl+g在立即窗口中对程序进行调试

     alt+f11在工作表与vbe中切换

     f5直接运行全部代码

     f8逐行运行代码

                

TA的精华主题

TA的得分主题

发表于 2006-8-19 20:45 | 显示全部楼层

TA的精华主题

TA的得分主题

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

我也想学习

TA的精华主题

TA的得分主题

发表于 2006-8-23 11:21 | 显示全部楼层

马上新建一个EXCEL文件,用绘图插入一个矩形,点击右键,在菜单中点击指定宏,再点击新建。

会出现

Sub 矩形1_单击()

End Sub

在两句中间加入Sheets("sheet1").Range("a1") = 100

Sub 矩形1_单击() Sheets("sheet1").Range("a1") = 100 End Sup

以后怎样操作

TA的精华主题

TA的得分主题

发表于 2006-8-28 13:28 | 显示全部楼层

Sub 矩形1_单击()
Dim i As Integer
For i = 1 To 15
Sheets("sheet1").Cells(i, 2) = i + 100
Next
'一种:Sheets("sheet1").Cells(i, 2) = "=sum(b1:b15)"
'二种:Range("b16").Value = Application.WorksheetFunction.Sum(Range("b1:b15"))
Sheets("sheet1").Cells(i, 2).Value = Application.WorksheetFunction.Sum(Range(Cells(1, 2), Cells(i - 1, 2)))

'最后选用这种

End Sub

TA的精华主题

TA的得分主题

发表于 2006-8-28 17:47 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-20 17:38 , Processed in 0.037034 second(s), 5 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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