VBA经验小结
工作表的表示和隐藏
Worksheets("SheetName").Visible = True ‘表示
= xlVeryHidden ‘隐藏
某个工作簿的某个工作表的复制到新的文件中
Workbooks(BOOK_NAME).Sheets("SheetName").Copy
调用子函数
Call Sets_Sort
激活某个工作簿,可继续直接选择工作表操作
Workbooks(BOOK_NAME).Activate
选择当前活动的工作簿的工作表
Sheets("Sheet_NAME ").Select
选择所有列
Cells.Select
范围的选择
Range("A1:B1").Select
扩大选择范围的选择(选定区域从选择单元格延伸至选择单元格最后一个包含数据的单元格。)
Range(Selection, Selection.End(xlDown)).Select
:xlDown 等同于End+向下
:xlUp等同于End+向上
:xlToRight等同于End+向右
:xlToLeft等同于End+向左
清空所有选择的内容
Selection.ClearContents
从选择的某个单元格开始粘贴被复制的内容
Range("A1").Select
ActiveSheet.Paste
取得选择的行号(所选择的最顶上的一行)
row1 = Selection.row
取得某行某列的值:
Cells(row1, 1).Value
删除后,以下的单元格往上移动
Selection.Delete shift:=xlUp
‘向上
=xlDown ‘向下
=xlToRight ‘向左
=xlToLeft ‘向右
该单元的列的选择
Range("A1").CurrentRegion.Select
选择某单元格,插入一格,该列数据向下移动
Cells(row1, 3).Select
Selection.Insert shift:=xlUp
‘向上
=xlDown ‘向下
=xlToRight ‘向左
=xlToLeft ‘向右
向A列左插入一列(数据向右移动)
Columns("A:A").Insert shift:=xlRight
选择行:(从Cells(1, 1).row行到Cells(row1, 4).row行)
Rows(Cells(1, 1).row & ":" & Cells(row1, 4).row)
特殊粘贴:(只粘贴值)
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Operation
:粘贴时是否进行计算
(
xlPasteSpecialOperationNone
/
xlPasteSpecialOperationAdd
…
)
Paste
:粘贴式样否
xlPasteAll
|
-4104
|
粘
贴
全部内容
。
|
xlPasteAllExceptBorders
|
7
|
粘
贴
除
边
框外的全部内容
。
|
xlPasteAllUsingSourceTheme
|
13
|
使用源主
题
粘
贴
全部内容
。
|
xlPasteColumnWidths
|
8
|
粘
贴复
制的列
宽
。
|
xlPasteComments
|
-4144
|
粘
贴
批注
。
|
xlPasteFormats
|
-4122
|
粘
贴复
制的源格式
。
|
xlPasteFormulas
|
-4123
|
粘
贴
公式
。
|
xlPasteFormulasAndNumberFormats
|
11
|
粘
贴
公式和数字格式
。
|
xlPasteValidation
|
6
|
粘
贴
有效性
。
|
xlPasteValues
|
-4163
|
粘
贴值
。
|
xlPasteValuesAndNumberFormats
|
12
|
粘
贴值
和数字格式
。
|
窗口滚动条向下移动312行
ActiveWindow.SmallScroll Down:=312
区域排序
表达式
.Sort(Key1, Order1, Key2, Type, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3)
Selection.Sort
Key1:=Range("B1"), 取得主排序子段
Order1:=xlAscending,
Key2:=Range("A1"),
Order2:=xlAscending, 取得从排序字段
Header:=
xlNo,
OrderCustom:=1,
MatchCase:=False,
Orientation:=xlTopToBottom,
SortMethod:=xlPinYin
SortMethod:=xlPinYin/ xlStroke
MatchCase:=False
/
Ture
’
不区分大小写
/
区分大小写
Orientation:= xlAscending
/
xlDescending
‘
指定以
升序
/
降序(
1/2
)
排序。
Header:= xlGuess
/
xlNo
/
xlYes
‘可能包含标题
/
无标题
/
有标题
复制一个表格到新的文件中
Workbooks(BOOK_NAME).Sheets("Sheet_NAME").Copy
复制某表格到某个工作簿的某个表格之后
Workbooks(BOOK_NAME).Sheets("Sheet_NAME").Copy After:=Workbooks(BOOK_NAME_NEW).Sheets(1)
取得当前活动的工作簿名称
BOOK_NAME = ActiveWorkbook.Name