先讲工作簿和工作表的相关操作。

一、工作簿和工作表的相关操作

1、保存工作簿

Sub SaveWorkBooks()Dim book As WorkbookFor Each book In Workbooks'path等于空说明是新文件,就不保存If book.path <> "" Then book.SaveNext book
End Sub

改进一下,判断保存过又没有修改的,就不保存了,提高一下效率

Sub SaveWorkBooks2()Dim book As WorkbookFor Each book In Workbooks'path等于空说明是新文件,就不保存If book.path <> "" Then'用saved判断如果修改后没有保存过才保存,提高一下效率If book.Saved <> True Thenbook.SaveEnd IfEnd IfNext book
End Sub

如果保存完了需要关机,再加一句workbook.save即可

Sub SaveCloseWorkBook()Dim book As WorkbookFor Each book In Workbooks'path等于空说明是新文件,就不保存If book.path <> "" Then'用saved判断如果修改后没有保存过才保存,提高一下效率If book.Saved <> True Thenbook.Savebook.CloseEnd IfEnd IfNext book
End Sub

2、隐藏工作表

用户选择一个Range区域,陨星湖把这个区域外的行和列进行隐藏,当然了,把selection替换成自己想选择的区域同理,就不示范了。

Sub Hide()'隐藏未选择的其他所有行和列Dim row1 As Long, row2 As LongDim col1 As Long, col2 As Long'用rows.count获取工作表的总行数'用columns.count获取工作表的总列数If TypeName(Selection) <> "Range" Then Exit Sub'如果工作簿全部隐藏,就取消隐藏'注意:判断是否隐藏用rows和columns,但是取消隐藏是用cellsIf Rows(Rows.Count).EntireRow.Hidden Or Columns(Columns.Count).EntireColumn.Hidden ThenCells.EntireRow.Hidden = FalseCells.EntireColumn.Hidden = FalseExit SubEnd If'获取选中框的左上角单元格行列数row1 = Selection.Range("A1").Rowcol1 = Selection.Range("A1").Column'获取选中框的右下角单元格行列数row2 = Selection.Range("A1").Row + Selection.Rows.Count - 1col2 = Selection.Range("A1").Column + Selection.Columns.Count - 1'进行隐藏操作'隐藏行Range(Cells(1, 1), Cells(row1 - 1, 1)).EntireRow.Hidden = TrueRange(Cells(row2, 1), Cells(Rows.Count, 1)).EntireRow.Hidden = True'隐藏列Range(Cells(1, 1), Cells(1, col1 - 1)).EntireColumn.Hidden = TrueRange(Cells(1, col2 + 1), Cells(1, Columns.Count)).EntireColumn.Hidden = TrueEnd Sub

3、创建一个工作表的链接页

Sub CreatLink()'新建sheets(1),把其他sheet名称写在sheet1并做个链接Dim i As IntegerSheets.add before:=Sheets(1)For i = 2 To Sheets.CountSheets(i).Hyperlinks.add _Anchor:=Sheets(1).Range("A" & i - 1), _Address:="", _SubAddress:="'" & Worksheets(i).name & "'!A1", _TextToDisplay:=Sheets(i).nameNextEnd Sub

二、VBA其他内容

1、改变布尔值Not的用法

Sub NotBool()'改变布尔类型的值,加个Not在前面既可以If Not TypeName(Selection) <> "Range" ThenMsgBox "你选择的是单元格!"End If
End Sub

2、fotmat显示个性化时间

Sub DisplayTime()'显示时间'主要用到format,此前计算大量复制粘贴数据,计算消耗时间的时候用过Dim theDate As StringDim theTime As StringtheDate = Format(Date, "yyyy年mm月dd日")theTime = Format(Now(), "hh时MM分ss秒")MsgBox Application.UserName & theDateMsgBox Application.UserName & theTimeSelect Case TimeValue(theTime)Case Is < 0.5MsgBox Application.UserName & ":上午好!"Case 0.5 To 0.75MsgBox Application.UserName & ":下午好!"Case Is > 0.7083MsgBox Application.UserName & ":晚上好!"End SelectEnd Sub

VBA 工作簿和工作表的简单操作相关推荐

  1. VBA:Excel工作簿所有子表数据一键汇总

    今天同事问我,他要汇总一个工作簿里面十几张子表里面的数据到同工作簿的汇总表里面,怎么操作比较快?然后我就想到了VBA,接着给他写(录)了一个宏,一键完成所有数据汇总. 所以今天就分析这个小技巧,不需要 ...

  2. 3分钟写个VBA:Excel工作簿所有子表数据一键汇总

    今天同事问我,他要汇总一个工作簿里面十几张子表里面的数据到同工作簿的汇总表里面,怎么操作比较快?然后我就想到了VBA,3分钟给他写(录)了一个宏,一键完成所有数据汇总. 所以今天我就分享这个小技巧,不 ...

  3. Excel VBA 合并不同工作簿的工作表到一个工作簿的不同工作表

    命令从下面第一个Sub开始: Sub 合并不同工作簿的工作表到一个工作簿的不同工作表() Excel.Application.ScreenUpdating = False Dim ARR() Dim ...

  4. VBA之批量进行工作簿及工作表循环查找内容

    SUB SplitRange'关闭屏幕刷新Application.ScreenUpdating = FALSE'禁用事件Application.EnableEvents = FALSE'禁止显示提示和 ...

  5. python读取Excel工作簿、工作表

    python读取Excel工作簿.工作表 最近需要用python操作Excel表格,因此大概学习了一下如何操作,表较简单但是很实用,这里记录一些简单的操作. import xlrd # 读取工作簿 w ...

  6. 合并工作簿包含工作表名称

    Sub 合并工作簿包含工作表名称() '定义对话框变量 Dim fd As FileDialog Set fd = Application.FileDialog(msoFileDialogFilePi ...

  7. Tableau实战系列浏览 Tableau 环境(六) -工作簿和工作表

    前言 Tableau 使用的是工作簿和工作表文件结构,这与 Microsoft Excel 十分类似.工作簿包含工 作表,后者可以是工作表.仪表板或故事. 一个工作表包含单个视图以及其侧栏中的功能区. ...

  8. 使用Python批量处理工作簿和工作表

    使用Python批量处理工作簿和工作表 批量新建并保存工作簿 批量打开一个文件夹中的打开工作簿 批量重命名一个工作簿的所有工作表 批量重命名多个工作簿 批量重命名多个工作簿中的同名工作表 将一个工作簿 ...

  9. C#如何设置Excel文档保护——工作簿、工作表、单元格

    简介 Excel在工作和学习中应用广泛,是必不可少的数据统计与处理工具.对于一些重要的Excel文件,只供特殊人员查看.编辑或者防止重要数据对外泄露时,就需要设置文档保护,包括设置访问密码.设置文件只 ...

  10. python创建工作簿_创建工作簿、工作表和写入单元格

    ---------------------------------------------------------------- 学完本课程可继续巩固篇:https://edu.51cto.com/c ...

最新文章

  1. 中天亮剑——打击网络风暴侵袭
  2. VCenter电源报警
  3. POJ 3580 SuperMemo
  4. python语言包括哪些实现_Python语言基础考察点:python语言基础常见考题(一)
  5. 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 22丨页面推荐【难度中等】​
  6. python 元组与列表的异同点 1125
  7. 【openjudge】 CDQZ challenge 4
  8. JavaScript基础介绍
  9. *Algs4-2.4.23Multiway的堆(未解决)
  10. 2D曲线插值拟合基础
  11. c语言pwm调制方式,pwm如何进行调制?3种pwm调制方式介绍
  12. matlab编写erf函数
  13. (STM32F103ZET6)SG90舵机的驱动程序
  14. 2020中青杯本科题目学习
  15. Android,java敏感词,QQ,微信自动过滤组件
  16. 11月29日做题截图
  17. 企业从哪里开始构建弹性 IT 基础架构
  18. Linux信号:SIGCHLD信号和僵尸进程
  19. NLP中面向文本表示的模型梳理
  20. 门禁系统服务器需要什么要求,完备的门禁系统应该具有这些功能

热门文章

  1. SAP中内部订单状态对结算的影响分析测试
  2. C#使用欧姆龙PLC的Fins协议读写PLC地址(基本封装)
  3. c++ discards qualifiers
  4. 海南大学考研经验之(考研英语)
  5. Adafruit GFX Library字体规范
  6. matlab基于凹点匹配的分割算法,基于凹点寻找标记的分水岭算法分割粘连谷粒
  7. 经济机器是怎样运行的 -- Ray Dalio
  8. Java获取图片大小 及 尺寸 图片压缩 jpg压缩
  9. 数据仓库——概念数据模型
  10. 阿辉DirectX 11学习笔记一