excelvba基础知识总结 Excel VBA如何存放代码?

Excel VBA如何存放代码?亲,是这样的。2003版的确可以保存带VBA代码的文件,不用更改扩展名。但是,您也一定发现,当你要运行宏时,必须在安全性设置里启用宏,比较麻烦。2007版以上进行了改进

Excel VBA如何存放代码?

亲,是这样的。2003版的确可以保存带VBA代码的文件,不用更改扩展名。但是,您也一定发现,当你要运行宏时,必须在安全性设置里启用宏,比较麻烦。

2007版以上进行了改进,可以直接把带VBA代码的文件另存为xlsm。这样,打开这个文件,可以直接运行宏。

excel vba目录结构?

1、打开事先准备好的Excel文件2、工具栏/开发工具/Visual Basic,打开Microsoft Visual Basic,也可使用快捷键Alt F11,3、然后,选择VBAProject/Microsoft Excel 对象/sheet1(sheet1),在右边窗口输入以下程序:Sub 根据工作表创建目录()Dim i As Integer, Biao As Worksheeti 2For Each Biao In WorksheetsCells(i, A) i 1Next BiaoEnd Sub程序已经编制完成!

4、最后,工具栏/开发工具/宏(快捷键Alt F8),查看宏,选择已编制好的宏“根据工作表创建目录”,执行,就会根据工作表创建对应目录。

也可直接在Microsoft Visual Basic中执行,工具栏/运行/运行子过程/用户窗体,或者直接点击菜单栏中类似于三角形的按键。

Excel VBA选取单元格有哪些方法和技巧?

VBA选取单元格的8种方法

本技巧目的: 掌握单元格的各种引用方法

Excel 就是由基本元素 -- 单元格构成的,它就像我们身体的细胞一样,可是非常重要的,千万不能小看它的作用。不论是学习 vba 还是 操作 Excel 本身, 最先接触到的就是单元格,只有熟练的掌握了,才能进行后续的操作。 注意:下面所有的标点符号全部使用半角,或者说英文标点。 代码中不区分大小写。使用代码助手可以实现代码的快速输入。代码助手下载地址 Range 属性

单个单元格的表示方法:

表示方法:Sheet1.Range(A1)

注释:1) 工作表 Sheet1 的单元格: A1, 书写格式:Sheet1.Range(英文字母 数字)2) 保持良好的习惯加上工作表名称,对于后续跨工作表的操作会减少很多的问题。就像寄快递时要把小区的每栋楼的编号写上一样,不会发生快递寄到隔壁楼的问题哟。单元格地址选中使用命令: .SelectSheet1.Range(A1).Select多个单元格的表示方法:

连续单元格: A3 到 C6 单元格表示方法: Sheet1.range(A3:C6)注释:1) 书写方法: Sheet1. (英文字母 数字 : 英文字母 数字)2) 首尾单元格之间用 : 连接二组连续单元格,组合起来的方法:A3 到 C6 单元格 , E7 到 G11 单元格表示方法: Sheet1.range(A3:C6, E7:G11)Sheet1.range(A3:C6, E7:G11).Select注释:1) 书写方法: Sheet1. (英文字母 数字 : 英文字母 数字, 英文字母 数字 : 英文字母 数字)2) 二组不连续的地址,中间用 ,分隔3) 要点: 连续单元格: 首尾之间用 : 来连接, 二段不连续的单元格组合用 ,分隔2. Cells 属性

小技巧: 安装代码助手后,alt 数字 0 : 可以快速转换 列号 为数字 或者 英文字母单个单元格:

表示方法:sheet1.cells(1,1) 或者 sheet1.cells(1,A)注释:1)括号内 前面代表:行 后面代表:列, 用 ,分隔2)二种方法: ① 前后都使用数字② 前面使用数字,后面用英文字母代表列号 ③ 注意:英文字母要加双引号多个单元格的表示方法:

连续单元格: B2 到 D7 单元格表示方法:sheet1.Range(sheet1.cells(2,2),sheet1.cells(7,4)) 或者sheet1.Range(sheet1.cells(2,B),sheet1.cells(7,D))注释:书写方法: sheet1.range(工作表名称.左上方单元格,工作表名称.右下方单元格) Range 和 Cells 总结:

1) Range 和 Cells 书写方法不同: Range(A1) 和 Cells(1,1) 或者 Cells(1,A) 所指的单元格是相同的2) Range: 写好后, 后面加上 . 系统会出现提示, Cells 没有3) Range: 可以表示连续的单元格4) Cells: 更方便,直接写行,列号, 中间用英文逗号分隔,不需要使用字符串拼接。它是在循环中根据行列号访问的主要手段例如: Range(A amp ) Cells(, A)3. 方括号 [ ]

Sheet1.Range(A1) 可以写成 sheet1.[A1]Sheet1.range(A1:C1) 可以写成 sheet1.[A1:C1] 注意: 只能使用列号的英文字母或者行号数字,不能使用变量4. Offset 属性

Offset 的使用方法:以某单元格作为起点,然后以他为起点向上下,左右偏移。

1)需求:当用户选中单元格后 , 需要在选中的单元格左上单元格写入数字 1,且选中单元格是未知的。2)有了Offset 属性,只需要在 Selection 后输入偏移的行列号,就能实现输入。3)实现方法:(-1,-1) 1 这样书写是不是很方便呢?二种方法:使用 offset, 假设以 B3 为起点, 这个起点位置可以根据自己的要求来设定。书写方法:Sheet1.range(B3).offset(0,1)注释:1) 代表: B3 开始,不偏移行,向右偏移一列, 即 C3 单元格2) offset 括号内 前面数字代表行, 后面数字代表列3) 数字 0 代表: 不偏移4) 数字 -1 代表: 向上 或者 向左 偏移例如1: Sheet1.range(B4).offset(-1,1) 即: B4 向上偏移一行,向右偏移一列, 即 C3 单元格例如2: Sheet1.range(D5).offset(-2,-1) 即: D5 向上偏移二行,向左偏移一列, 即 C3 单元格使用 range 或者 cells, 假设以 B3 为起点, 这个起点位置可以根据自己的要求来设定。书写方法:sheet1.range(B3).cells(1,2) 或者 sheet1.range(B3).range(B1)注释:1) 上面书写方法代表:B3 开始,不偏移行,向右偏移一列, 即 C3 单元格2) 详解:① 不能 向上 或者 向左 偏移 ② 数字 1 代表: 本行,本列③ 数字 2 代表: 向下 1 行 或者 向右 1 列 ④ 数字 3 代表: 向下 2 行 或者 向右 2 列⑤ 后面以此类推,每增加 1,偏移 也 增加 1 ⑥ Range 中的英文字母可以当作数字来看 即 B 代表 数字 2, C 代表 数字 35. Resize 属性

要求:表示上图的 B3:E10 单元格同理:首先以某单元格作为起点,然后以他为坐标向上下,左右扩展。这里是使用扩展哦。好处和前面说的 Offset 是一样的:修改方便,另外即使是未知位置单元格也能扩展。书写方法:Sheet1.Range(B3).Resize(8, 4)注释:1) 上面书写方法代表:B3 开始,(含本行本列)共扩展 8行,4列, 即 B3:E10 单元格2) 详解:① 数字 1 代表: 本行,本列 ② 数字 2 代表扩展: 向下 1 行 或者 向右 1 列③ 数字 3 代表扩展: 向下 2 行 或者 向右 2 列 ④ 后面以此类推,每增加 1,扩展 也 增加 1offset,resize 组合联合使用这两个属性是可以组合使用的。这样对于后期的改动会更为方便快捷。

要求:表示 C3:E9 单元格书写方法:Sheet1.Range(A1).Offset(2,2).Resize(7,3)注释:1) A1 单元格 偏移: 向下 2行 向右 2列 再扩展: 向下 7行 向右 3列2) 偏移,扩展可以前后随意组合 Offset、Range 和 Resize 总结

6. Union 属性

连接二个不连续的区域: B3:D8, G10:I15书写方法: Union(Sheet1.Range(B3:D8), Sheet1.Range(G10:I15))7. Usedrange 属性

书写方法: 注释:1) 确定Sheet1 的 已使用区域2) 该代码所表示的地址为:A1:D7

书写方法:注释:1)该代码所表示的地址为: A1:G112) 注意: F10:G10 区域即使为空格, 表示的地址也会是 A1:G118. CurrentRegion 属性

书写方法:Sheet1.Range(A1).CurrentRegion注释:1) 以 A1 为起点的连续区域2) 该代码表示的地址为:A1:D7书写方法:Sheet1.Range(F10).CurrentRegion注释: 该代码表示的地址为:F10:G11