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