声明:本文原创,禁止转载;所有代码都通过测试

  • 像任何一门语言一样,先来段最简单的代码

    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相关推荐

  1. Excel 2003 VBA编程参考

    Excel 2003 VBA编程参考 关于作者 Paul Kimmel Paul Kimmel于1990年创立了Software Conceptions公司,并从那时开始设计和创建软件以及编写计算机图 ...

  2. Excel与VBA编程中的常用代码

    Excel与VBA编程中的常用代码 用过VB的人都应该知道如何声明变量,在VBA中声明变量和VB中是完全一样的! 使用Dim语句 Dim a as integer '声明A为整形变量 Dim a '声 ...

  3. Excel之VBA编程常用语句300句

    定制模块行为 (1) Option Explicit '强制对模块内所有变量进行声明 Option Private Module '标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示 Op ...

  4. Excel中VBA编程学习笔记(一)

    1.注释及编码规则 注释: 单引号:可以位于句子结尾或者单独一行: Rem:单独一行 编码规则: 如果VB中的关键字是由多个英文字母组成,则系统自动将每个单词的首字母转换成大写字母,其余字母一律转换成 ...

  5. 邮件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 ...

  6. 【知识小集】☞Excel之VBA编程语句集300句

    Excel VBA常用300句 定制模块行为 (1) Option Explicit '强制对模块内所有变量进行声明     Option Private Module '标记模块为私有,仅对同一工程 ...

  7. 在EXCEL中VBA编程检验身份证号码有效性

    *2022-12-05 改正代码中错别字,规范表述 *2022-11-30 1.增加了过程clearB()用来清除B1:Bx原有的出错说明,在过程examIdentityCard() 开头调用 2.修 ...

  8. Excel中VBA编程学习笔记(十一)--正则表达式

    在VBA中使用正则表达式受限需要引用Microsoft VBScript Regular Expressions 5.5类库.在VBA界面,"工具"-->"引用&q ...

  9. Excel中VBA编程学习笔记(七)--窗口应用(WINDOW)

    1.修改并获取当前窗口标题 Private Sub test() Windows(1).Caption = "My Excel" MsgBox ("当前窗口标题:&quo ...

最新文章

  1. 位掩码(BitMask)
  2. php中文网第七期课程目录,php中文网第七期
  3. Nginx下Go的多种使用方式性能比较
  4. 树状数组c语言模板,【树状数组】Cows (POJ2481) PASCAL 解题报告
  5. 有效的Java –所有对象通用的方法
  6. sqlmap (--os-shell)的使用
  7. Python-三元运算符和lambda表达式
  8. python:filter用法
  9. CodeForces888E Maximum Subsequence(折半枚举+two-pointers)
  10. 互联网产品的测试策略应该如何设计?
  11. Node.js的异步I/O
  12. 如何搭建私人电子图书馆
  13. yuki翻译器钩子_GalGame 翻译器
  14. LM317,LM337正负电源 电路图PCB设计
  15. 省市县三级联动的实现方案
  16. mysql简历上怎么写_新手程序员简历应该怎么写?
  17. springboot内嵌tomcat如何优雅开启http端口
  18. java计算机毕业设计Web网上购书后台管理系统MyBatis+系统+LW文档+源码+调试部署
  19. 自研一个word应用,需要哪些基本功能
  20. 华为更新系统10.1显示连接服务器失败,emui10.1正式版-华为emui10.1系统更新正式版预约 -优盘手机站...

热门文章

  1. 新的 ES2022 规范终于发布了,我总结了8个实用的新功能
  2. 保守形态抗锯齿 (CMAA) - 2014 年 3 月更新
  3. 开发一个完整的iOS直播app必须技能
  4. 涨薪神作,阿里内部火爆的实战文档和搭建项目笔记,你还怕没有项目可做吗
  5. 【前端】Angular的布局(响应式布局)笔记3
  6. Iphone版音乐计算机,轻松实现从iPhone上进行音乐等文件的共享复制
  7. uniapp集成colorUI uView2.0 Vuex
  8. 100个台阶,一次走一步,走两步,走三步,有多少种可能
  9. 一度智信:拼多多平台开网店怎么收费?
  10. 【算法竞赛入门经典】读书笔记