Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 9178|回复: 5

[VBA学习资料] 每周二培训笔记分享【第09讲】工作簿操作--2012年02月28日

[复制链接]
发表于 2012-3-27 22:27 | 显示全部楼层 |阅读模式
感谢兰版的精彩教学,受益匪浅,万分感激!
以下所有笔记均为兰版每周二晚培训课程的本人做的笔记--完整版

【第9讲】工作簿操作--2012年02月28日
主要内容:
1、新建工作簿
2、打开工作簿
3、保存工作簿
4、关闭工作簿
5、工作簿事件
-------------------------------------------------
上节回顾---计算a1至a16之间是否存在步长不是1的, 不是1就将B列对应的值从1重新计划,否则累加1
Sub px()
  Dim x As Integer, k As Integer
  For x = 2 To 16
    If range("a" & x) - 1 <> range("a" & x-1) Then -- 如果"a2"-1的值不等于"a1"的值,那么
     k = 1
    Else
     k = k + 1
    End If
    range("b" & x) = k
  Next x
End Sub

--新建工作薄  
Sub 新建()
  workbooks.add   --带后缀s的代表一类集合,如:workbooks, worksheets等
End Sub
Sub 新建()
  Workbooks.Add
End Sub

Sub 新建并保存1()
  Workbooks.Add
  ActiveWorkbook.SaveAs "c:\Mbook1.xlsx"  '路径正反斜杠都可以识别
End Sub

'保存 当前工作簿到 指定目录
Sub 保存2()
  Workbooks.Add
  ThisWorkbook.SaveAs "c:\Mbook1.xlsx"
End Sub
'当前活动工作簿 保存到当前模块代码所在目录
Sub 保存3()
  Workbooks.Add
  ActiveWorkbook.SaveAs ThisWorkbook.Path & "\abc.xlsx"
End Sub

Sub 新建并保存3()
Dim MBOOK As Workbook
Set MBOOK = Workbooks.Add
    MBOOK.SaveAs "c:\MBOOKhaha.XLSX"
Set MBOOK = Nothing   '释放对象
End Sub

'打开指定工作簿
Sub 打开工作簿()
    Workbooks.Open "c:\mbook1.xlsx"
End Sub
'打开指定工作簿标准写法
Sub 打开工作簿2()
    Workbooks.Open Filename:="c:\mbook1.xlsx"
End Sub

'打开相对路径下的文件:当前模块代码所在文件夹的路径 ThisWorkbook.Path & "abc.xlsx"
Sub 打开工作簿3()
    Workbooks.Open ThisWorkbook.Path & "\ccd.XLSX"
End Sub
'当前文件夹下的B子文件夹下的c.xlsx
Sub 打开c文件()
    Workbooks.Open ThisWorkbook.Path & "\b\c.xlsx"
End Sub
'thisWorkBook 与 ActiveWorkBook的区别
'thisWorkBook指宏代码所在的工作薄
'activeWorkBook不一定是指宏代码所在的工作薄

'打开密码保护的文件
Sub 打开密码保护文件()
    Workbooks.Open "c:\mbook.xlsx", Password:="123"
End Sub

'判断文件是否打开
Sub 判断文件打开状态()
Dim x As Integer
For x = 1 To Workbooks.Count
    If Workbooks(x).Name = "Mbook1.xls" Then
        MsgBox "文件已打开"
        Exit Sub
    End If
Next x
End Sub
'thisworkbook当前模块代码工作簿的保存
Sub 保存()
    ThisWorkbook.Save
End Sub
'另存为
Sub 另存为()
    ActiveWorkbook.SaveAs "c:\mybook.xlsx"
End Sub
'另存为备份文件
Sub 备份()
    ActiveWorkbook.SaveCopyAs "c:\mybook.xlsx"
End Sub
'例:  备份 abc.xlsx文件 到 相同目录下 ,文件名为 abc备份.xlsx
Sub 备份2()
    ActiveWorkbook.SaveCopyAs ActiveWorkbook.Path & "\abc备份.xlsx"
End Sub
Sub 备份3()
   ThisWorkbook.SaveCopyAs ThisWorkbook.Path & "\abc备份2.xlsx"
End Sub
'另存并加密
Sub 另存并加密()
    ActiveWorkbook.SaveAs "c:\mybook.xlsx", Password:="123"
End Sub
'关闭工作簿
Sub 关闭所有工作簿()
    Workbooks.Close
End Sub
'关闭指定工作簿 --关闭名称为"book1.xlsx"的工作簿
Sub 关闭指定工作簿()
    Workbooks("book1.xlsx").Close
End Sub
'关闭指定工作簿 --关闭第3个打开的工作簿
Sub 关闭第3个打开的工作簿()
    Workbooks(3).Close
End Sub
'关闭指定的工作簿并保存  --close savechages:=True
Sub 关闭指定的工作簿并保存()
    Workbooks(MYbook.xlsx).Close savechanges:=True
End Sub

-----工作簿事件
'关闭表格时的事件:备份
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    ActiveWorkbook.SaveCopyAs "c:\bc备份.xlsx"
End Sub
'打开表格时的事件:。。。
Private Sub Workbook_Open()
  MsgBox "打开了"
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Cancel = True
    MsgBox "休想关闭!"
End Sub
Private Sub Workbook_BeforePrint(Cancel As Boolean)
    Cancel = True
    MsgBox "休想打印,你中毒了!"
End Sub

'Target代表当前正在修改的单元格
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    'If Sh.Name = "Sheet2" Then  ’针对sheet2的行为
    MsgBox "请勿修改此文档"
    Application.EnableEvents = False
    Target.Value = MM  'MM 是workbook_SheetSlectionChange的内容
    Application.EnableEvents = True
    'End If
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    MM = Target.Value
    'range("a1").Select  '限制区域,不允许复制
End Sub

评分

参与人数 1 +3 收起 理由
ls + 3 赞一个!

查看全部评分

发表于 2012-3-30 13:16 | 显示全部楼层
回复

使用道具 举报

发表于 2012-3-30 13:18 | 显示全部楼层
回复

使用道具 举报

发表于 2012-5-17 02:33 | 显示全部楼层
感谢分享课堂笔记!
回复

使用道具 举报

发表于 2012-5-19 12:19 | 显示全部楼层
感谢分享课堂笔记!
回复

使用道具 举报

发表于 2020-6-1 11:30 | 显示全部楼层

感谢分享课堂笔记!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-26 07:41 , Processed in 0.958335 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表