vba
vba学习
小红米粒
上善若水
展开
-
第55~56讲-find 方法与findNext方法
1 ·单元格区域的find方法:Find方法在区域内查找某值的第一个单元格,注意返回找到的单元格对象Find方法只且永远返回该区域第一个匹配的对象·查找下一个需要使用FindNext或者FindPreous方法2 查找就会有两个结果的可能,找到或者找不到·如果找到自然会返回找到的单元格对象·如果没有找到,则是该对象的初始状态Nothing什么都不是,注意:不能使用=来判断是否Nothing-要用对象判断的特定符号is 来判断。·请注意Nothing不是False 判断时应该使用not对象is原创 2021-02-05 11:51:55 · 3809 阅读 · 0 评论 -
第53讲-offsetResize 复习作业\旅行社收费作业
'作业1 第一问'A1:H1 出发转换成黄色区域Sub 作业1第一问() Dim area As Range Set area = Range("a1:h1").Offset(5, 0).Resize(7, 8) Debug.Print area.Address(0, 0)End SubSub 作业1第二问() Dim area As Range Set area = Cells(3, "k").Offset(5, -8).Resize(4, 5) .原创 2021-02-05 10:24:56 · 126 阅读 · 0 评论 -
第52讲 53讲-单元格对象的偏移与重设 offset resize \单元格的清除方法与删除
单元格对象的偏移和重设(一)1 ·单元格对象的偏移与重设:·非常类似工作表函数中的offset函数·不过在VBA的单元格对象中偏移(offset)和重设(resize)是两个不同的属性2 单元格对象的偏移:·单元格.区域offset(行,列)·特点:单元格对象的偏移起始区域与结果区域形状完全一致。·行,列可以<=0如果是0代表不偏移,<0对于行来说代表向上偏移,对于列来说代表向左偏移·偏移区域的起始单元格一定不在结果区域内Sub 偏移offset() Debug.Pri原创 2021-02-05 09:35:57 · 1002 阅读 · 0 评论 -
第51讲-求不及格学生名单和成绩-作业1讲解
Sub 填写不及格学生成绩() Dim i As Long, j As Long, pos As Long, col As Long pos = 3 col = Range("k1").Column For i = 4 To 8 For j = 3 To Range("a2").CurrentRegion.Rows.Count If Cells(j, i) < 60 Then C.原创 2021-02-04 09:43:22 · 148 阅读 · 0 评论 -
第50讲-基础练习-作业讲解
1 Sub 第一问() '在K13 返回男性员工的最低工资的姓名 Dim i As Long, minSalary As Double, minName As String minSalary = 1000000000 For i = 2 To Range("f1").CurrentRegion.Rows.count If Range("h" & i) = "男" And Range("i" & i) < minSalary Then原创 2021-02-04 09:38:03 · 308 阅读 · 0 评论 -
第48讲 第49讲--动态定位单元格区域1-End属性、动态定位单元格区域2、3-Currentregion UsedRange
1 单元格区域.EntireRow返回该区域所在的整行对象单元格区域.EntireColumn返回该区域所在的整列'返回单元格所在的整行与整列,返回单元格对象'EntireRow 与EntireColumnSub 整行与整列()' Range("a1").EntireColumn = 0 Range("a1").EntireRow.SelectEnd Sub2 单元格区域.Select方法,选中某区域。多见于演示3 动态定位单元格对象区域(一)单元格.End :End属原创 2021-01-31 15:13:02 · 1230 阅读 · 0 评论 -
第47讲-合并单元格数据汇总-答案、出货表练习讲解
Sub test()Dim i As Long, sum As Long, j As Longj = 1For i = 2 To 13 If Range("a" & i) <> "" Then j = j + 1 Range("e" & j) = Range("a" & i) Range("f" & j) = Range("c" & i) Else R.原创 2021-01-31 14:33:32 · 202 阅读 · 0 评论 -
第45~46讲-单元格表示法3-Count,行列属性对象和地址
第45讲 单元格表示法31 单元格的Count属性 :返回单元格的个数单元格的Count属性非常简单,就是返回单元格的数量。·比如一个单元格构造的单元格对象,它的count属性返回的就是1.·多个单元格的构成的单元格对象它的count属性就返回单元格的个数.Count属性其实是一种集合(容器)类对象的属性,用于返回集合中元素的个数。·由此我们知道单元格对象本身就是一种集合容器。具体集合的知识我们后面再讨论Sub 单元格count() Debug.Print Range("a1:d34").Co原创 2021-01-28 10:04:10 · 454 阅读 · 0 评论 -
第44讲-单元格对象2-九九乘法表讲解
第44讲-单元格对象2-九九乘法表讲解1 单元格表示方式2-CellsCells(行.列)有点像工作表函数中的R1C1表示单元格的方式,是先行后列的表示法。与A1,B1这种先列后行的表示法相反。·行,列通常都是数字,其中行必须是数字。列支持“A”,“B”这种字符串表示列的方式,但是通常还是使用数字表示列,这是Cells的特点。.Cells(行.列)这种方式只能表示某一个特定的单元格,如果取消().只有一个Cells则表示工作表上所有的单元格,这相对比较少用。因此Cells无法用来表示某个特定区域的单原创 2021-01-27 14:00:44 · 137 阅读 · 0 评论 -
第42、43讲-裁判评分练习
第42讲-裁判评分练习自己写的:Sub one()Dim sum1 As Double, sum2 As Double, i As Long, x As Long, y As Longsum1 = 0sum2 = 0For i = 2 To 20 If Range("b" & i) = "D-A01" Then x = x + 1 sum1 = sum1 + Range("c" & i) End If If Range("原创 2021-01-27 13:31:49 · 151 阅读 · 0 评论 -
第41~42讲-初识对象-单元格对象1
41讲 初识对象1 面向对象的三个基本特性是:封装,继承与多态2 VBA并不是面向对象的编程语言,并不能支持面向对象的三个特性,严格的说VBA属于基于对象的语言,可以使用封装好的对象,VBA可以解决Excel的问题就是基于此。需要的时候VBA可以自己封装类并构建对象。3 在对象的描述中,通常又把两大类不同的内容分别描述为对象的属性和方法。所谓属性,基本上是属于对象拥有的固有的静态的,描述性的性质。往往是用名词或形容词来进行描述的。所谓方法,基本上是对象的可能的一些动作性的描述,往往是动词。'在原创 2021-01-27 12:15:33 · 181 阅读 · 0 评论 -
第38~40讲-循环章节大习题讲解
第38~40讲-循环章节大习题讲解Sub 练习题1() '高空落球 Dim ballTrace As Double, fantan As Double, currentFall As Double, i As Long For i = 1 To 10 If i = 1 Then ballTrace = 100 currentFall = 100 Else fantan = current原创 2021-01-27 09:54:19 · 145 阅读 · 0 评论 -
vba33-37
三十三 条件循环1 do…loop:do 循环头循环体loop 循环尾2 子句:a当型循环:whiledo while i<5i=i+1loopb直到型循环:untildo until i=5i=i+1loop3 可以在do头部判断,也可在until尾部判断头部循环可能一次也不执行,尾部循环至少执行一次。4爱因斯坦长阶梯著名物理学家爱园斯坦编的问题:在你面前有一条长长的阶梯,如果你每步跨2阶,那么最后剩下1阶;如果你每步跨3阶,那么最后剩2阶;如果你每步跨5阶,那么原创 2021-01-10 18:20:14 · 176 阅读 · 0 评论 -
vba30-32
三十 实例生成序列号1 range(“a2”)=1 给a2单元格赋值为12 用for生成单元格地址sub 生成地址()dim i&for i=2 to 100debug.print "a" & inextend sub3 用for填写序号sub 填写序号()dim i&for i=2 to 100range("a" & i)=i-1nextend sub三十一 打擂台 求质数 猜数思路1问题描述:依次输入5个数字,请输出这5个数字其中原创 2020-12-06 10:34:14 · 288 阅读 · 0 评论 -
vba26-29
二十七深入理解for1循环头只运行次,循环体运行i次,next运行i+ 1次累加程序Sub累加()Dim sum&, i&, s&, n&s = InputBox("请输入开始的数: ")n = InputBox("请输入结束的数: ")sum=0Fori=STonsum=sum+iNextMsgBoxs & “到” &n & "的累加和为:”& sumEnd Sub二十八浮点数陷阱和循环的使用技术1预防浮点数陷阱原创 2020-12-06 10:33:14 · 125 阅读 · 0 评论 -
vba17-25
十七 变量默认值 简写变量 常量1声明变量的同时赋值:数值:0 字符串:""空字符串 布尔:False 变体:Emply(空)2 布尔值:false(0) True(1)所有非0的数字转换成布尔类型都是True3变量定义简写dim i % integer整型dim j& long长整型double 小数$ string 字符串常数后面加符号,改变常数数据类型Date Boolean 没有简写4 常量声明:一经赋值在程序中不可改变原创 2020-12-06 10:30:10 · 636 阅读 · 0 评论 -
vba7-16
七变体型类型1默认数据类型:变体型,可以是任何类型2Dim 变量名 没有指定数据类型,就是默认的3赋值 =4优点:不用考虑声明变量的数据类型,任何数据都可以装载。对新手相当友好缺点,消耗系统资源过大。造成程序的执行效率低下八整数类型小数类型1数值:整数 小数(浮点数)2整数类型:整型:Integer -32768------32767之间Dim 变量名 as integer长整型:Long 正负20亿3小数类型:双精度浮点型:Double 最多支持15位有效数字dim原创 2020-12-03 08:04:44 · 304 阅读 · 0 评论 -
vba 1-6
一概述1控制excel ,多个复杂不规则表格2爬取网页3一键完成图片处理4视频播放5可以数据清洗6可调用函数二宏与vba1多写程序2文件-选项-自定义功能区-主选项卡-开发工具3宏安全4excel中宏就是vba,广义的宏包括很多。所谓宏,就是一些命令组织在一起,作为一个单独命令完成一个特定任务。Microsoft Word中对宏定义为:“宏就是能组织到一起作为一独立的命令使用的一系列word命令,它能使日常工作变得更容易”。Word使用宏语言Visual Basic将宏作为一系列指令原创 2020-12-03 08:01:43 · 156 阅读 · 0 评论