公司实习第一天,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)

快下班了,今天先写到这里!

最新文章

  1. Spring 02多种注入方式和注解实现DI
  2. SQL join中on与where区别
  3. C# 文件读取方法,自己写的例子,保存一下,备用
  4. zz 圣诞丨太阁所有的免费算法视频资料整理
  5. nyoj 1058部分和问题(DFS)
  6. #define的一些
  7. MVC简捷调用EasyUI的datagrid
  8. libserialport: cross-platform library for accessing serial ports
  9. JavaScript面向对象轻松入门之抽象(demo by ES5、ES6、TypeScript)
  10. 简单介绍 CPU 的工作原理
  11. 深入理解Java类加载器(1):Java类加载原理解析
  12. Navicat破解
  13. win8和win7下解决php5.3和5.4、5.5等不能加载php_curl.dll的终极解决办法 收藏
  14. Visual Studio快捷键查询
  15. Singer 开源便捷的ETL 工具
  16. Tomcat优化方案
  17. scala -- 层级
  18. U-Mail如何实现邮件营销自动化?
  19. HDU 4718 The LCIS on the Tree (动态树LCT)
  20. 【Linux 运维】Linux 目录

热门文章

  1. java 正则表达式(一)
  2. php面向对象之__isset和__unset
  3. Comparable与Comparator区别(实现和使用)
  4. jquery 登录,删除提示信息框
  5. Android WebView访问网站携带登录认证Cookies和动态自定义的cookies
  6. Maven配置,使用IntelliJ IDEA和Maven创建Java Web项目
  7. jquery根据滚动条动态加载数据
  8. swift使用查阅资料备份3
  9. JS判断客户端是否是iOS或者Android或者ipad(三)
  10. 使用node+mysql进行后端开发