EXCEL的VBA编程基础1
声明:本文原创,禁止转载;所有代码都通过测试
像任何一门语言一样,先来段最简单的代码
cells(a,b) 表示第a行,第b列的单元格内容,a,b是整数,b可以为字节串,如"a",下面是实现修改某个单元格内容的代码。
注:#后面是注释,不是代码,编译时请去掉!!这段代码可打开任意空白EXCEL表格运行Sub 修改单元格内容()cells(1,1)=3cells(1,"b")=7\4 #整除,结果为1cells(1,"c")=7/4 #结果为1.75cells(1,"d")=7 mod 4 #模运算,得到除法的余数,结果为3 End Sub
定义变量和常量
VBA里的数据类型有:字节型(Byte)、整数型(Integer)、长整数型(Long)、单精度浮点型(Single)、双精度浮点型(Double)、货币型(Currency)、小数型(Decimal)、字符串型(String)、日期型(Date)、布尔型(Boolean)Sub 对某个单元格的简单运算()Dim r as Integer #定义变量Dim n #定义变量,但不想定义类型Const pai=3.141592535#定义常量r=cells(1,1)cells(1,2)=pai*r*rEnd Sub
读者可能看见Dim a as Range的语句,但Range并非是变量类型,只是定义了一个对象,具体介绍还不急,慢慢来。
循环结构
图片为十年来我国对东南亚十国对外直接投资存量,你现在要将中国对各国十年投资总和求出来放在第八行,下面是运算代码,代码中用了双重循环。读者可以找十个学生的六科成绩写一段代码求每位学生的总成绩,虽然EXCEL本身的求和函数已经非常简便,但是这个例子关键在于学会循环,后面会有例子,让你觉得循环很实用。
再次注意,由于笔者习惯用#注释,读者在运行代码时要删去注释,或将#改为 ’Sub 对多组数据的求和运算()Dim i,j,aFor i=2 To 11 Step 1 #从2到11,每次加1的循环,2-11是闭区间a=0For j=5 To 17 Step 1#从5到17,每次加1的循环a=cells(j,i)+aNext j #单次循环结束,j赋值为下一个值cells(8,i)=aNext i End Sub
判断结构
80分以下为及格,80-90良好,90分及以上优秀,数据如下,请设计等级,这里用了多个选择结构,有助于对选择结构的理解
注:与C语言、Python不同,"=“即可表达”==“的含义,所以在VBA中”="起赋值和等价判断作用。Sub 按等级划分成绩()Dim iFor i=2 To 20 Step 1 #从2到20,每次加1的循环,2-11是闭区间If cells(i,2)<80 Thencells(i,3)="及格"ElseIf cells(i,2)<90 And cells(i,2)>=80 Thencells(i,3)="良好"#上一句的与或非逻辑与python相似Elsecells(i,3)="优秀"EndIfNext i End Sub
字符串操作
&和+的区别:&表示两个字符串的连接,“123”+123是非法的;+也可以表示字符串的连接,但遇见"123"+123,默认将"123”转化为数字123,得到246;所以要连接字符串最好用&;字符串也可以用*的算法,"123”*2相当于246,不过尽量少用
要求对成绩排名,输出为“第N名”的格式。
想偷懒,不想写排序语句,先用EXCEL函数排序好,再用"第"&k&"名"即可
下一篇文章见
EXCEL的VBA编程基础1相关推荐
- Excel 2003 VBA编程参考
Excel 2003 VBA编程参考 关于作者 Paul Kimmel Paul Kimmel于1990年创立了Software Conceptions公司,并从那时开始设计和创建软件以及编写计算机图 ...
- Excel与VBA编程中的常用代码
Excel与VBA编程中的常用代码 用过VB的人都应该知道如何声明变量,在VBA中声明变量和VB中是完全一样的! 使用Dim语句 Dim a as integer '声明A为整形变量 Dim a '声 ...
- Excel之VBA编程常用语句300句
定制模块行为 (1) Option Explicit '强制对模块内所有变量进行声明 Option Private Module '标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示 Op ...
- Excel中VBA编程学习笔记(一)
1.注释及编码规则 注释: 单引号:可以位于句子结尾或者单独一行: Rem:单独一行 编码规则: 如果VB中的关键字是由多个英文字母组成,则系统自动将每个单词的首字母转换成大写字母,其余字母一律转换成 ...
- 邮件excel html,小数点分隔符在电子邮件(HTML/CSS)在Excel的VBA编程
A B C 1 25,000,000.50 2 3 而下面的VBA代码与内容发送电子邮件单元格A1: Sub Separators_in_Email() If ExitAll = False Then ...
- 【知识小集】☞Excel之VBA编程语句集300句
Excel VBA常用300句 定制模块行为 (1) Option Explicit '强制对模块内所有变量进行声明 Option Private Module '标记模块为私有,仅对同一工程 ...
- 在EXCEL中VBA编程检验身份证号码有效性
*2022-12-05 改正代码中错别字,规范表述 *2022-11-30 1.增加了过程clearB()用来清除B1:Bx原有的出错说明,在过程examIdentityCard() 开头调用 2.修 ...
- Excel中VBA编程学习笔记(十一)--正则表达式
在VBA中使用正则表达式受限需要引用Microsoft VBScript Regular Expressions 5.5类库.在VBA界面,"工具"-->"引用&q ...
- Excel中VBA编程学习笔记(七)--窗口应用(WINDOW)
1.修改并获取当前窗口标题 Private Sub test() Windows(1).Caption = "My Excel" MsgBox ("当前窗口标题:&quo ...
最新文章
- 位掩码(BitMask)
- php中文网第七期课程目录,php中文网第七期
- Nginx下Go的多种使用方式性能比较
- 树状数组c语言模板,【树状数组】Cows (POJ2481) PASCAL 解题报告
- 有效的Java –所有对象通用的方法
- sqlmap (--os-shell)的使用
- Python-三元运算符和lambda表达式
- python:filter用法
- CodeForces888E Maximum Subsequence(折半枚举+two-pointers)
- 互联网产品的测试策略应该如何设计?
- Node.js的异步I/O
- 如何搭建私人电子图书馆
- yuki翻译器钩子_GalGame 翻译器
- LM317,LM337正负电源 电路图PCB设计
- 省市县三级联动的实现方案
- mysql简历上怎么写_新手程序员简历应该怎么写?
- springboot内嵌tomcat如何优雅开启http端口
- java计算机毕业设计Web网上购书后台管理系统MyBatis+系统+LW文档+源码+调试部署
- 自研一个word应用,需要哪些基本功能
- 华为更新系统10.1显示连接服务器失败,emui10.1正式版-华为emui10.1系统更新正式版预约 -优盘手机站...
热门文章
- 新的 ES2022 规范终于发布了,我总结了8个实用的新功能
- 保守形态抗锯齿 (CMAA) - 2014 年 3 月更新
- 开发一个完整的iOS直播app必须技能
- 涨薪神作,阿里内部火爆的实战文档和搭建项目笔记,你还怕没有项目可做吗
- 【前端】Angular的布局(响应式布局)笔记3
- Iphone版音乐计算机,轻松实现从iPhone上进行音乐等文件的共享复制
- uniapp集成colorUI uView2.0 Vuex
- 100个台阶,一次走一步,走两步,走三步,有多少种可能
- 一度智信:拼多多平台开网店怎么收费?
- 【算法竞赛入门经典】读书笔记