VBA 第一天
公司实习第一天,excel搞不定啊,学点VBA留着用:
录制宏:
点击录制宏按钮以后,在这段期间你做的每一个操作都会被记录下来,直到你点击停止录制按钮才能够停下,停下来后在此期间每一个操作都会以宏代码的形式保存下来,下次同样机械的操作都可以使用宏所定义的快捷键进行操作。
编写宏定义:
使用快捷键ALT+F11进入宏编写IDE,插入一个新的宏,比如如下的一个宏可以在任何一个单元格的数字的后面根据数字的大小判断其属于哪个档次:
Sub GetRank()
Select Case Selection.Value
Case Is >=
Selection.Offset(, ) = "OutStanding"
Case Is >=
Selection.Offset(, ) = "Excellent"
Case Is >=
Selection.Offset(, ) = "Pass"
Case Else
Selection.Offset(, ) = "Fail"
End Select
End Sub
突然觉得好sb的操作,只能在每个单元格后面点,于是来点快捷的,对一列进行操作吧!
Sub GetAllRanks()
Dim IntRows As Integer
Dim i As Integer
IntRows = Selection.Rows.Count
For i = To IntRows
Select Case Cells(i + , ).Value
Case Is >=
Cells(i + , ).Value = "OutStanding"
Case Is >=
Cells(i + , ).Value = "Excellant"
Case Is >=
Cells(i + , ).Value = "Pass"
Case Else
Cells(i + , ).Value = "Fail"
End Select
Next i
End Sub
使用Range并且是"A1"形式:
Sub Get_Cell()
Dim RanCell As Range
Set RanCell = Range("e2")
With RanCell
.Value = "Hello to excel vba"
.Font.Italic = True
.Font.Bold = True
End With
Set RanCell = Nothing '释放对象
End Sub
使用Range的"R1C1"形式引用单元格:
Sub Get_Cells()
Worksheets("main").Cells.ClearContents
Dim i As Integer, j As Integer
For i = To
For j = To i
Cells(i, j).Value = i * j
Next
Next End Sub
引用一块区域,则可以使用range来得到一块区域:
Sub CellsSelect()
Worksheets("Sheet2").Select
Dim MyRange1 As Range, MyRange2 As Range
Set MyRange1 = Range("A1:D5,G1:G8")
Set MyRange2 = Union(Range("A8:C12"), Range("E10:G13"))
MyRange1.Select
Selection.Interior.Color =
MyRange2.Select
Selection.Interior.Color =
End Sub
当然我们也可以选择整行或者整列,如Rows(1)选择第一行,Rows选择所有的行,Columns(1)或者Columns("A")选择第一列,Columns选择所有列;也可以使用Range关键词来选择Range("C:C"),选择C列,Range("C:F"),选择C到F列。
developer=>insert=>button, 拖一个出来点在worksheet上,程序会默认让你制定点击事件绑定的宏,默认会是***_Click(),你可以按这个命名定义,也可以先写好了再Assign也行。
选择当前选择单元格的上一个可以使用Previous,选择当前单元格的下一个单元格可以使用Next,当然首先你得选中自己,那么在excel中选中自己的代码是ActiveCell,这是当前你的光标所停留在的格子。
还可以使用offset选中相对于当前单元格的其他单元格,使用方法是Offset(RowOffset, ColumnOffset),如Range("A1").Offset(2,2)表示选择C3,ActiveCell.offset(,1)选择了当前单元格的下一列,ActiveCell.offset(1)选择了下一行,区域偏移可使用Range("C3:D5").offset(,1)
快下班了,今天先写到这里!
VBA 第一天的更多相关文章
- MicroStation VBA基础
实习笔记1 2016年8月1日 14:12 Option Explicit 缺省情况下,如果使用一个没有声明的变量,它将继承“Variant”类型.在模块.窗体和类的通用声明区使用“OptionExp ...
- C# API: 生成和读取Excel文件
我们想为用户提供一些数据,考虑再三, 大家认为对于用户(人,而非机器)的可读性, Excel文件要好一些. 因为相比csv,xml等文件, Excel中我们可以运用自动筛选, 窗口锁定, 还可以控制背 ...
- excel VBA正则匹配单元格符号,并按符号把单元格拆分行(这里是按第一列分行,分行是从活动单元格的行开始,分行前需要选择所有需要填充内容的列,否则需要后期手动填充)
Sub W() ' MsgBox "行数:" & Selection.Rows.Count Dim rows_count As Integer Dim ro ...
- VBA学习笔记(6)--抽取第一列中叫“虹虹”的个人信息
说明(2017.3.25): 1. 知识点为dim arr2(1 to 1000, 1 to 4)先定义一个足够大的二维数组,不然后面需要transpose转置成一维数组. '抽取列表中叫“虹虹”的所 ...
- VBA 格式化字符串 - Format大全
VBA 格式化字符串 VBA 的 Format 函数与工作表函数 TEXT 用法基本相同,但功能更加强大,许多格式只能用于VBA 的 Format 函数,而不能用于工作表函数 TEXT ,以下是本人归 ...
- VBA初试——合并
今天遇到一个任务,要把excel中的相同行合并:没有找到直接的办法(vlookup大概能做),试了试VBA挺好用 数据结构 第一.二列是描述字段,第二列元素唯一:第三到第八列是标志位 任务 合并描述字 ...
- VBA笔记(二)——基础语法
数据类型 VBA提供了15种标准数据类型,具体见下表: 变量 Sub 变量学习() 'Dim 变量名 As 数据类型 Dim str1 As String '声明定长的String变量 '使用变量类型 ...
- VBA笔记(一)
开启VBA编程环境--VBE 方法一:按<Alt+F11>组合建 方法二:查看代码 宏设置 当然启用宏的设置方式不同,宏的启动方式也不一样. 首先打开"office 按钮&quo ...
- VBA之文件筛选
在工作中,经常会碰到从一堆腐朽的source中按照一个列表去筛选出来现在还要用的source文件. 这个如果用vba来实现的话,会节省大量的时间,而且不会出错. 前提说明: 将想要复制的文件名列表放在 ...
随机推荐
- ES JVM使用如果超过75%就会GC较多,导致ES索引性能下降
转自:https://www.elastic.co/guide/en/cloud/current/ec-metrics-memory-pressure.html Scenario: How Does ...
- 双系统下Ubuntu安装教程
一.下载Ubuntu镜像包 二.用老毛桃制作U盘启动盘 三.下载Universal USB Installer 下载后无需安装,直接运行Universal USB Installer, step1: ...
- BZOJ 2957 分块
思路: 记录每栋楼楼顶与原点连线的斜率 那么一栋楼可见当且仅当前面所有楼的斜率都小于这栋楼 将n栋楼分为√(0.5*n*logn)块 每一块内维护一个单调上升子序列(注意不是LCS) 比如说4 1 2 ...
- 用latex画化学结构式
最近写论文需要画化学结构式,于是想到用Latex里的包.但是一看知乎里面的大牛们一片口诛笔伐,说还是Chemdraw好.用latex是装... 不管怎么说,还是查了一下.首先需要下载chemfig.t ...
- web.xml中的url-pattern写法规则及匹配过程
servlet和filter在javaEE开发中很常用,因此有必要知道web.xml文件映射的规则 1. 写法 ①完全匹配:以“/”开头,以字母(非“*”)结束 如:<url-patte ...
- [C#学习笔记之异步编程模式2]BeginInvoke和EndInvoke方法 (转载)
为什么要进行异步回调?众所周知,普通方法运行,是单线程的,如果中途有大型操作(如:读取大文件,大批量操作数据库,网络传输等),都会导致方法阻塞,表现在界面上就是,程序卡或者死掉,界面元素不动了,不响应 ...
- Unity 移动键Q的三种用法 For Mac,Windows类同
拖动整个场景:三指 (任何模式下)ALT+三指:旋转当前镜头 (任何模式下)双指前后滑动:缩放镜头 ps1:Q键移动的游戏场景,W移动的是游戏对象 ps2:三指 = 左键拖动
- python位操作(进制)与ascii
位操作符 位操作的操作符与python的set的操作符一样.与C语言中的位操作符也是一样的. a = 60 #60的二进制为 0011 1100b = 13 #13的二进制为 00001101 c = ...
- 对于 wepy 不是内部或外部命令 -- 的解决办法
闲来没事继续研究自己之前一直未解决的问题, 就是自己笔记本安装wepy-cli,一直提示"wepy 不是内部或外部命令". 因为公司里面用的是这个框架, 想着自己在家没事的时候去 ...
- 实战:vue项目中导入swiper插件
版本选择 swiper是个常用的插件,现在已经迭代到了第四代:swiper4.常用的版本是swiper3和swiper4,我选择的是swiper3. 安装 安装swiper3的最新版本3.4.2: n ...