公司实习第一天,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 第一天的更多相关文章

  1. MicroStation VBA基础

    实习笔记1 2016年8月1日 14:12 Option Explicit 缺省情况下,如果使用一个没有声明的变量,它将继承“Variant”类型.在模块.窗体和类的通用声明区使用“OptionExp ...

  2. C# API: 生成和读取Excel文件

    我们想为用户提供一些数据,考虑再三, 大家认为对于用户(人,而非机器)的可读性, Excel文件要好一些. 因为相比csv,xml等文件, Excel中我们可以运用自动筛选, 窗口锁定, 还可以控制背 ...

  3. excel VBA正则匹配单元格符号,并按符号把单元格拆分行(这里是按第一列分行,分行是从活动单元格的行开始,分行前需要选择所有需要填充内容的列,否则需要后期手动填充)

    Sub W()   ' MsgBox "行数:" & Selection.Rows.Count    Dim rows_count As Integer    Dim ro ...

  4. VBA学习笔记(6)--抽取第一列中叫“虹虹”的个人信息

    说明(2017.3.25): 1. 知识点为dim arr2(1 to 1000, 1 to 4)先定义一个足够大的二维数组,不然后面需要transpose转置成一维数组. '抽取列表中叫“虹虹”的所 ...

  5. VBA 格式化字符串 - Format大全

    VBA 格式化字符串 VBA 的 Format 函数与工作表函数 TEXT 用法基本相同,但功能更加强大,许多格式只能用于VBA 的 Format 函数,而不能用于工作表函数 TEXT ,以下是本人归 ...

  6. VBA初试——合并

    今天遇到一个任务,要把excel中的相同行合并:没有找到直接的办法(vlookup大概能做),试了试VBA挺好用 数据结构 第一.二列是描述字段,第二列元素唯一:第三到第八列是标志位 任务 合并描述字 ...

  7. VBA笔记(二)——基础语法

    数据类型 VBA提供了15种标准数据类型,具体见下表: 变量 Sub 变量学习() 'Dim 变量名 As 数据类型 Dim str1 As String '声明定长的String变量 '使用变量类型 ...

  8. VBA笔记(一)

    开启VBA编程环境--VBE 方法一:按<Alt+F11>组合建 方法二:查看代码 宏设置 当然启用宏的设置方式不同,宏的启动方式也不一样. 首先打开"office 按钮&quo ...

  9. VBA之文件筛选

    在工作中,经常会碰到从一堆腐朽的source中按照一个列表去筛选出来现在还要用的source文件. 这个如果用vba来实现的话,会节省大量的时间,而且不会出错. 前提说明: 将想要复制的文件名列表放在 ...

随机推荐

  1. java 正则表达式(一)

    1匹配验证-验证Email是否正确 Java | 复制 1 2 3 4 5 6 7 8 9 10 11 12 13 14 public static void main(String[] args)  ...

  2. [makefile]如何设置不同目录的代码(.c),生成到指定目录下(./debug/.o))

    部分代码跟makefile不在同一目录,有没有好的方法来设置依赖关系,我找到三种方法,但感觉都不完美,下面我会把他列出来并加以说明,不知有没有更好的方法,makefile本身也不是很熟,请大家指教: ...

  3. 欢迎来到Flask的世界

    不多说,直接上文档链接:Flask的文档 教程 API 快速上手

  4. CLR寄宿和应用程序域

    Win实际上将CLR作为一个COM服务器实现在一个DLL内,即为CLR定义了标准的COM接口,并为该接口和COM服务器分配一GUID,安装FrameWork时表示CLR的COM服务器被注册到注册表内. ...

  5. 设置cookie,删除cookie,读取cookie

    1.首先来说下cookie的作用 我们在浏览器中,经常涉及到数据的交换,比如你登录邮箱,登录一个页面.我们经常会在此时设置30天内记住我,或者自动登录选项.那么它们是怎么记录信息的呢,答案就是今天的主 ...

  6. function——函数声明头的提升和预解析

    函数: 即function语句的集合,就是将多个语句封装到一起: 函数的执行要会自己遍历,遇见函数 a():执行语句,就要移交控制权,函数执行完毕之后,控制权又移交回来了! 函数的参数要罗列在func ...

  7. Ubuntu包管理工具整理

    概述 常用的包管理包含三类工具:dpkg.apt和aptitude.1 dpkg 主要是对本地的软件包进行管理,本地软件包包括已经在本地安装的软件包和已经下载但还没有安装的 deb 文件,不解决依赖关 ...

  8. mac下生成ssh key

    ssh -v usage: ssh [-1246AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec] [-D [bind_address: ...

  9. Eclipse本地创建新的GIT分支,并推送至远程Git分支

    本地创建新的GIT分支: 1.右击要创建新分支的项目——Team——Switch To——New Branch…: 2.在弹出的对话框中name框中输入要创建的分支名称,(如果是当前显示的要拷贝的分支 ...

  10. webpack——entry,output,plugins,loader,chunk知识

    entry:打包入口 代码的入口,找到依赖模块 打包的入口,webpack去哪个文件找依赖,或是去那个文件依赖的依赖 可以是一个或者多个入口 例如: 1.module.exports={ entry: ...