VBA EXCEl 小记 wj-wangjun
如何查看宏命令?
视图--->>工具栏---->>在Visual Basic工具图标上--->>运行按钮--->>选所要查看的宏。--->>编辑
一. 在立即窗口中执行 视图---->> 立即窗口
1. 工作薄
WorkBooks.add '添加工作薄
?ActiveWorkbook.Name '显示当前活动工作薄的名字。
Book3 '上条命令显示的结果
ActiveWorkbook.Close SaveChange=false '提示在关闭前提示另存为
ActiveWorkbook.Close SaveChange=true '不提示另存为,直接关闭工作薄 ''请小心使用.
WorkBooks.Close '同时关闭所有的工作表
1.2 改变工作薄的属性
?ActiveWorkbook.Saved '显示保存退出工作薄时是否有提示保存的对话框。
False 'false 为提示 true 为不提示而直接保存。
那又该如何设置呢?
ActiveWorkbook.Saved=false
好,那我们来关闭工作薄看一下有什么效果? 然后设成true再看一下?
ActiveWorkbook.Close
ActiveWorkbook.Saved=true
2. 工作表
Worksheets.Add '在工作薄中添加新的工作表。
用以下3种方法都可以改变工作表的名称.
ActiveSheet.Name= "wangjun" '当前活动的工作表
WorkSheets(4).Name="444"
WorkSheets("Sheet4").Name="ddddd"
删除工作表的方法. 注意按回车后将会删除工作表中所有的数据.
WorkSheets(3).Delete ' 其中的3为工作的从式到右的序号。
WorkSheets("444").Delete '其中444为工作表的名称
ActiveSheet.Delete '删除当前活动的工作表
3. 查看Delete方法的返回值
作用是关闭工作表,也返回一个值到宏。
?ActiveSheet.Delete
False '你点了取消,没有删除工作表
True '你点了删除, 工作表没了。
4. 查看Add 的执行结果
Worksheets.Add.Name="purchase" '创建一个名为purchase 的工作表
Worksheets.Add.Delete '新创建一个工作表后删除它,只是显示一下运行结果,没什么意义.
5.复制工作表
Worksheets(1).Copy '在一个新的工作薄上生成一个新的工作表,
Worksheets("purchase").copy Before:=Worksheets(1) '在当前工作薄的第1个工作表之前生成新的工作表
Worksheets("purchase").copy after:=Worksheets(2) '在当前工作薄的第2个工作表这后生成新的工作表
生成的新工作表中的内容和复制的原工作表内容完全一样。
=====================================================================
Range对象
1. ?cells.Count
16777216 '表示在工作表中有 16777216 个单元格
Range("IV65535").Select '选择最后一个单元格
2. 列
Row属性返回行的集合,Columns属性返回列的集合
Columns.Select '表示在电子表格中全选
cells.Select '同上 表示在电子表格中全选
columns(3).select '选择C列
columns("E").select '选择E列
columns("B:H").Select '选择B---H列
3. 行
rows(2).select '选择第2行
rows("2").select '同上 '选择第2行
rows("3:8").select '选择8--8行
在“对象浏览器“中的<全局>集合,包含返回工作表的全部单元格的三个属性:Cells,Columns和Rows
Cells, Columns 和Rows没有对象类,这些是简单地表示相同的Range对象的不同方法.
4. 在当前选择的基础上引用区域
?Activesheet.Range("e5").value
5
?ActiveWorkbook.Worksheets("计划").Range("F" & CStr(6)).Value
40
?Activesheet.Range("D1").clear '清空当前单元格
如果当前工作表的SHEET插入到另外一个工作簿中,那就用
Sheets("Sheet1").Copy Before:=Workbooks("11.xls").Sheets(1)