vba编程控制excel输入不同的密码显示不同的sheet

都说office,似乎大家都知道office,甚至可以说都懂得office。真的懂嘛?

其实,我们只是用了office的1%不到的功能,

这不,扫地僧最近应公司同事的需求,帮他设计一份现有的excel表格的权限。大概实现的效果如下:

1、打开的时候,只显示默认的home-sheet,并提示请输入密码,根据不同的密码显示不同的sheet
2、vba编程入口需要口令才能进入
3、基于口令打开,再关闭excel之后,重新打开,要跟要求1的效果一样
4、跨软件打开要求实现一样的效果,比如用wps打开,如果不能输入口令,那么也不能展示其他的sheet

乍一看,不呀!

其实这里头的道道还是挺多的。

先说下我是怎么实现的吧。

1、套路一:基于vba编程

上面的功能,没得说,一定得通过vba编程,那么什么是vba,小白同学请自行百度

直接上代码:

Private Sub Workbook_Open()
    On Error Resume Next
    Dim psw$, YN$, sht As Worksheet
    ActiveWindow.DisplayWorkbookTabs = False
Line1:
    psw = InputBox("请输入你的密码:", "密码输入框")
    If psw = "shanghai1" Then
        Sheet10.Visible = xlSheetVisible
        Sheet10.Activate
        ActiveWindow.DisplayWorkbookTabs = True
        For Each sht In Worksheets
            If sht.CodeName <> "Sheet10" Then sht.Visible = xlSheetVeryHidden
        Next
    ElseIf psw = "shanxi2" Then
        Sheet11.Visible = xlSheetVisible
        Sheet11.Activate
        ActiveWindow.DisplayWorkbookTabs = True
        For Each sht In Worksheets
            If sht.CodeName <> "Sheet11" Then sht.Visible = xlSheetVeryHidden
        Next
    ElseIf psw = "1234567890" Then
        Sheet1.Visible = xlSheetVisible
        Sheet1.Activate
        ActiveWindow.DisplayWorkbookTabs = True
        For Each sht In Worksheets
            If sht.CodeName <> "Sheet1" Then sht.Visible = xlSheetVisible
        Next
    Else
        YN = MsgBox("密码错误!是否重新输入?", vbYesNo)
        If YN = vbYes Then GoTo Line1 Else ThisWorkbook.Close 0
    End If
    Sheet1.Visible = xlSheetVisible
End Sub

上面的代码实现的功能大概如下:

1)打开页面的时候,隐藏sheet栏。同时弹出窗口,提醒请输入你的密码。

2)当输入密码shanghai1的时候:显示sheet10这个sheet,同时显示sheet1。

3)当输入密码shanxi2的时候:显示sheet11这个sheet,同时显示sheet1。

4)当输入密码1234567890的时候:显示所有sheet。

5)否则,提示密码错误!是否重新输入?,如果选择是,那么回到1),否则直接关闭sheet栏

遗留问题

乍一看,好像已经满足要求了。但是细心的人经过测试会提出一个问题:

如果我输入密码shanghai1,这个时候点击关闭,同时选择保存。然后再重新打开,会出现,sheet1和sheet10同时都显示了,如果这个时候用wps打开,发现查看sheet10的内容根本不需要密码。

2、套路2:关闭时候复位

1的遗留问题,其实只需要在关闭的时候设置复位即可,怎么做呢,更简单了,直接上代码:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    On Error Resume Next
    Dim sht As Worksheet
    For Each sht In Worksheets
       If sht.CodeName <> "Sheet1" Then sht.Visible = xlSheetVeryHidden
    Next
    Sheet1.Visible = xlSheetVisible
End Sub

这段代码的意思就是:在点击关闭之前,隐藏除了sheet1之外的所有sheet。

3、总结

经过上述总结大家知道怎么做了不。附上完整的vba代码:

Private Sub Workbook_Open()
    On Error Resume Next
    Dim psw$, YN$, sht As Worksheet
    ActiveWindow.DisplayWorkbookTabs = False
Line1:
    psw = InputBox("请输入你的密码:", "密码输入框")
    If psw = "shanghai1" Then
        Sheet10.Visible = xlSheetVisible
        Sheet10.Activate
        ActiveWindow.DisplayWorkbookTabs = True
        For Each sht In Worksheets
            If sht.CodeName <> "Sheet10" Then sht.Visible = xlSheetVeryHidden
        Next
    ElseIf psw = "shanxi2" Then
        Sheet11.Visible = xlSheetVisible
        Sheet11.Activate
        ActiveWindow.DisplayWorkbookTabs = True
        For Each sht In Worksheets
            If sht.CodeName <> "Sheet11" Then sht.Visible = xlSheetVeryHidden
        Next
    ElseIf psw = "1234567890" Then
        Sheet1.Visible = xlSheetVisible
        Sheet1.Activate
        ActiveWindow.DisplayWorkbookTabs = True
        For Each sht In Worksheets
            If sht.CodeName <> "Sheet1" Then sht.Visible = xlSheetVisible
        Next
    Else
        YN = MsgBox("密码错误!是否重新输入?", vbYesNo)
        If YN = vbYes Then GoTo Line1 Else ThisWorkbook.Close 0
    End If
    Sheet1.Visible = xlSheetVisible
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    On Error Resume Next
    Dim sht As Worksheet
    For Each sht In Worksheets
       If sht.CodeName <> "Sheet1" Then sht.Visible = xlSheetVeryHidden
    Next
    Sheet1.Visible = xlSheetVisible
End Sub

扫地僧测试使用的文件下载:测试.xls

================================================================

破解篇章(20200721)

上面已经讲解了如何按需访问sheet,但是扫地僧为了安全起见对vba入口进行设置密码了,因此有些人就问我,密码多少,时间过去太久了,我也忘记了。这边分享下针对这种情况如何去暴力破解密码的方式。

1. 新建一个excel,打开vba,然后在sheet1模块里头输入如下代码:

'移除VBA编码保护
Sub MoveProtect()
Dim FileName As String
FileName = Application.GetOpenFilename("Excel文件(*.xls & *.xla),*.xls;*.xla", , "VBA破解")
If FileName = CStr(False) Then
Exit Sub
Else
VBAPassword FileName, False
End If
End Sub
'设置VBA编码保护
Sub SetProtect()
Dim FileName As String
FileName = Application.GetOpenFilename("Excel文件(*.xls & *.xla),*.xls;*.xla", , "VBA破解")
If FileName = CStr(False) Then
Exit Sub
Else
VBAPassword FileName, True
End If
End Sub
Private Function VBAPassword(FileName As String, Optional Protect As Boolean = False)
If Dir(FileName) = "" Then
Exit Function
Else
FileCopy FileName, FileName & ".bak"
End If
Dim GetData As String * 5
Open FileName For Binary As #1
Dim CMGs As Long
Dim DPBo As Long
For i = 1 To LOF(1)
Get #1, i, GetData
If GetData = "CMG=""" Then CMGs = i
If GetData = "[Host" Then DPBo = i - 2: Exit For
Next
If CMGs = 0 Then
MsgBox "请先对VBA编码设置一个保护密码...", 32, "提示"
Exit Function
End If
If Protect = False Then
Dim St As String * 2
Dim s20 As String * 1
'取得一个0D0A十六进制字串
Get #1, CMGs - 2, St
'取得一个20十六制字串
Get #1, DPBo + 16, s20
'替换加密部份机码
For i = CMGs To DPBo Step 2
Put #1, i, St
Next
'加入不配对符号
If (DPBo - CMGs) Mod 2 <> 0 Then
Put #1, DPBo + 1, s20
End If
MsgBox "文件解密成功......", 32, "提示"
Else
Dim MMs As String * 5
MMs = "DPB="""
Put #1, CMGs, MMs
MsgBox "对文件特殊加密成功......", 32, "提示"
End If
Close #1
End Function

2. 执行上面的宏。再弹窗里头选择:

3. 点击运行,这个时候就会要你去选择你要破解的excel。选择之后,静静等待,这个过程会很快,不会等很久。

4. 上面就是破解的一个过程,是不是非常简单呀。然后有时候大家在破解的过程可能会提示:“拒绝的权限”,非常有意思,哈哈,不要怀疑是破解程序不起作用。其实是你没有关闭你要破解的excel文件导致的。所以只要关闭掉你要破解的excel,然后重复下刚刚的破解步骤即可了哈。

  • 9
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 15
    评论
完整清晰版 PDF ,有目录。共 270MB,分为 2 个分卷 中文版Excel 2007 高级VBA编程 宝典 OFFICE2007 中文版Excel 2007高级VBA编程宝典 原价:99.99元 作者:(美)沃肯巴赫(Walkenbach,J) 著;冯飞,焦瑜净 译 出版社:清华大学出版社 出版日期:2009-2-1 ISBN:9787302194675 字数:1294000 页码:872 编辑推荐 -------------------------------------------------------------------------------- “电子表格先生”潜心力作,世界级Excel畅销书。   “千锤百炼”的Excel畅销书    没有人比“电子表格先生”更了解Excel 2007。本书涵盖了使用VBA 扩展Excel 功能的方法、提示和思想。Excel 2007 还有一些绝秘的新技巧,John Walkenbach 将帮助您掌握它们。 本书的作者John Walkenbach 是享有国际美誉的“电子表格先生”。他在书中分享了自己15 年来使用Excel 的经验,毫无保留地传授了学习和使用Excel 的所有知识,为读者掌握Excel 提供了绝佳的途径。本书的前两个版本均已获得巨大成功,在前两版的基础上,本书升华了已有的精华,并结合Excel 2007 的全新特性,是一部技术含量高、实践性强的经典著作。 本书将介绍如何定制Excel 用户窗体、开发新实用程序、用VBA 处理图表及数据透视表,以及创建事件处理应用程序。还将介绍如何使用VBA 子过程和函数过程、与其他应用程序轻松交互、构建用户友好的工具栏、菜单和帮助系统等。 内容提要 -------------------------------------------------------------------------------- 这本全能的手册适合对Excel感兴趣的所有人群,不但内容丰富、权威,且条理清晰、结构合理。本书的作者是当之无愧的世界级Excel电子表格专家,他为读者倾心打造了这本专著,书中汇聚他15年来使用Excel的所有经验,涵盖Excel应用和VBA编程涉及的方方面面,是经典著作Excel 2003 Power Programming with VBA的全新升级版。 目录 -------------------------------------------------------------------------------- 第Ⅰ部分 Excel基础知识  第1章 Excel 2007的起源   1.1 电子表格软件的简史    1.1.1 最初的起源:VisiCalc    1.1.2 Lotus 1-2-3     1.1.3 Quattro Pro   1.1.4 Microsoft Excel   1.2 Excel 对开发人员的重要性   1.3 Excel在Microsoft 战略中的角色  第2章 Excel概述   2.1 关于对象   2.2 工作簿    2.2.1 工作表    2.2.2 图表工作表    2.2.3 XLM宏工作表    2.2.4 Excel 5/95对话框编辑表   2.3 Excel的用户界面    2.3.1 功能区的引入    2.3.2 快捷菜单    2.3.3 对话框    2.3.4 键盘快捷键    2.3.5 智能标记    2.3.6 任务窗格   2.4 自定义屏幕显示   2.5 数据录入   2.6 公式、函数和名称   2.7 选择对象   2.8 格式    2.8.1 数字格式    2.8.2 样式格式   2.9 保护选项    2.9.1 保护公式以防被重写    2.9.2 保护工作簿的结构    2.9.3 运用密码来保护工作簿    2.9.4 使用密码来保护VBA代码   2.10 图表   2.11 形状和SmartArt   2.12 数据库访问    2.12.1 工作表数据库    2.12.2 外部数据库   2.13 Internet特性   2.14 分析工具    2.14.1 分级显示    2.14.2 分析工具库    2.14.3 数据透视表    2.14.4 Solver    2.14.5 XML特性   2.15 加载项   2.16 宏和编程   2.17 文件格式   2.18 Excel的帮助系统  第3章 公式的使用技巧   3.1 公式概述   3.2 计算公式   3.3 单元格和单元格区域引用    3.3.1 为什么使用不是相对的引用    3.3.2 R1C1表示法    3.3.3 引用其他的工作表或工作簿   3.4 使用名称    3.4.1 命名单元格和单元格区域    3.4.2 将名称应用于现有的引用    3.4.3 交叉名称    3.4.4 命名列和行    3.4.5 名称的作用范围    3.4.6 命名常量    3.4.7 命名公式    3.4.8 命名对象   3.5 公式错误   3.6 数组公式    3.6.1 一个数组公式的例子    3.6.2 数组公式日历    3.6.3 数组公式的优缺点   3.7 计数和求和技巧    3.7.1 计数公式的示例    3.7.2 求和公式的示例    3.7.3 其他计数工具   3.8 使用日期和时间    3.8.1 输入日期和时间    3.8.2 使用1900年之前的日期   3.9 创建大公式  第4章 理解Excel的文件   4.1 启动Excel   4.2 文件类型    4.2.1 Excel文件格式    4.2.2 文本文件格式    4.2.3 数据库文件格式    4.2.4 其他文件格式   4.3 模板文件的处理    4.3.1 查看模板    4.3.2 创建模板    4.3.3 创建工作簿模板   4.4 Excel文件的内部情况    4.4.1 仔细分析一个文件    4.4.2 为什么文件格式很重要   4.5 QAT文件   4.6 XLB文件   4.7 加载宏文件   4.8 Excel在注册表中的设置    4.8.1 关于注册表    4.8.2 Excel的设置 第Ⅱ部分 Excel应用程序开发  第5章 电子表格应用程序的内涵   5.1 电子表格应用程序   5.2 开发人员和终端用户    5.2.1 谁是开发人员    5.2.2 电子表格应用程序用户的分类    5.2.3 电子表格应用程序的客户   5.3 用Excel解决问题   5.4 基本的电子表格应用程序类型    5.4.1 快捷但质量不高的电子表格应用程序    5.4.2 自己创作、自己使用的电子表格应用程序    5.4.3 单用户电子表格应用程序    5.4.4 意大利面条式电子表格应用程序    5.4.5 实用电子表格应用程序    5.4.6 包含工作表函数的加载宏电子表格    5.4.7 单元块预算式电子表格应用程序    5.4.8 假设分析模型式电子表格应用程序    5.4.9 数据存储和访问电子表格应用程序    5.4.10 数据库前端电子表格应用程序    5.4.11 统包式电子表格应用程序  第6章 电子表格应用程序开发的基础   6.1 确定用户需求   6.2 规划满足用户需求的应用程序   6.3 确定最合适的用户界面    6.3.1 创建自定义的功能区    6.3.2 创建自定义的快捷菜单    6.3.3 创建快捷键    6.3.4 创建自定义的对话框    6.3.5 在工作表上使用ActiveX控件    6.3.6 执行开发的成果   6.4 使自己关心终端用户    6.4.1 测试应用程序    6.4.2 尽量完善应用程序的安全性    6.4.3 让应用程序变得美观和直观    6.4.4 创建用户帮助系统    6.4.5 将开发工作进行归档    6.4.6 将电子表格应用程序分发给用户    6.4.7 在需要的时候更新电子表格应用程序   6.5 其他开发问题    6.5.1 用户安装的Excel版本    6.5.2 语言问题    6.5.3 系统速度    6.5.4 视频模式 第Ⅲ部分 理解VBA  第7章 VBA概述   7.1 BASIC的一些基本背景   7.2 关于VBA    7.2.1 对象模型    7.2.2 VBA与XLM的对比   7.3 VBA的基础知识   7.4 Visual Basic编辑器概述    7.4.1 显示Excel的“开发工具”选项卡    7.4.2 激活VBE    7.4.3 VBE窗口   7.5 使用“工程资源管理器”窗口    7.5.1 添加新的VBA模块    7.5.2 移除VBA模块    7.5.3 导出和导入对象   7.6 使用“代码”窗口    7.6.1 窗口的最小化和最大化    7.6.2 VBA代码的存储    7.6.3 VBA代码的输入   7.7 VBE环境的定制    7.7.1 使用“编辑器”选项卡    7.7.2 使用“编辑器格式”选项卡    7.7.3 使用“通用”选项卡    7.7.4 使用“可连接的”选项卡   7.8 宏录制器    7.8.1 宏录制器实际记录哪些内容    7.8.2 相对模式还是绝对模式    7.8.3 选项的录制    7.8.4 整理己录制的宏   7.9 关于对象和集合    7.9.1 对象层次结构    7.9.2 关于集合    7.9.3 对象的引用   7.10 属性和方法    7.10.1 对象的属性    7.10.2 对象的方法   7.11 Comment对象示例    7.11.1 查看有关Comment对象的帮助    7.11.2 Comment对象的属性    7.11.3 Comment对象的方法    7.11.4 Comments集合    7.11.5 关于Comment属性    7.11.6 Comment对象中的对象    7.11.7 确定单元格中是否含有Comment对象    7.11.8 添加新的Comment对象   7.12 一些有用的应用程序属性   7.13 Range对象的使用    7.13.1 Range属性    7.13.2 Cells属性    7.13.3 Offset属性   7.14 关于对象的更多信息    7.14.1 需要牢记的基本概念    7.14.2 学习有关对象和属性的更多信息  第8章 VBA编程基础   8.1 VBA语言元素概览   8.2 注释   8.3 变量、数据类型和常量    8.3.1 数据类型的定义    8.3.2 声明变量    8.3.3 变量的作用域    8.3.4 常量的使用    8.3.5 字符串的使用    8.3.6 日期的使用   8.4 赋值语句   8.5 数组    8.5.1 数组的声明    8.5.2 多维数组的声明    8.5.3 动态数组的声明   8.6 对象变量   8.7 用户定义数据类型   8.8 内置函数   8.9 对象和集合的处理    8.9.1 With-End With构造    8.9.2 For Each-Next构造   8.10 代码执行的控制    8.10.1 GoTo语句    8.10.2 If-Then构造    8.10.3 Select Case构造    8.10.4 指令的循环块  第9章 VBASub过程   9.1 关于过程    9.1.1 Sub过程的声明    9.1.2 过程的作用域   9.2 执行Sub过程    9.2.1 通过“运行子过程/用户窗体”命令执行过程    9.2.2 从“宏”对话框执行过程    9.2.3 用Ctrl 快捷键组合执行过程    9.2.4 从功能区执行过程    9.2.5 从自定义快捷菜单中执行过程    9.2.6 从另一个过程执行过程    9.2.7 通过单击对象执行过程    9.2.8 在事件发生时执行过程    9.2.9 从“立即窗口”执行过程   9.3 向过程中传递参数   9.4 错误处理技术    9.4.1 捕获错误    9.4.2 错误处理示例   9.5 使用Sub过程的实际例子    9.5.1 目标    9.5.2 工程需求    9.5.3 已经了解的信息    9.5.4 着手处理    9.5.5 需要了解哪些信息    9.5.6 初步的录制工作    9.5.7 初始设置    9.5.8 代码的编写    9.5.9 排序过程的编写    9.5.10 更多的测试    9.5.11 修复问题    9.5.12 实用程序的可用性    9.5.13 对工程进行评估  第10章 创建Function过程   10.1 Sub过程与Function过程的对比   10.2 为什么创建自定义的函数   10.3 介绍性的函数示例    10.3.1 一个自定义函数    10.3.2 在工作表中使用函数    10.3.3 在VBA过程中使用函数    10.3.4 分析自定义函数   10.4 Function过程    10.4.1 声明函数    10.4.2 函数的作用域    10.4.3 执行Function过程   10.5 Function过程的参数   10.6 函数示例    10.6.1 无参数的函数    10.6.2 带有一个参数的函数    10.6.3 带有两个参数的函数    10.6.4 使用数组作为参数的函数    10.6.5 带有可选参数的函数    10.6.6 返回VBA数组的函数    10.6.7 返回错误值的函数    10.6.8 带有不定数量的参数的函数   10.7 模拟ExcelSUM函数   10.8 函数的调试   10.9 使用“插入函数”对话框    10.9.1 指定函数类别    10.9.2 添加函数说明   10.10 使用加载宏存储自定义的函数   10.11 使用Windows API    10.11.1 Windows API示例    10.11.2 确定Windows目录    10.11.3 检测Shift键    10.11.4 了解更多有关API 函数的信息  第11章 VBA编程示例和技巧   11.1 处理单元格区域    11.1.1 复制单元格区域    11.1.2 移动单元格区域    11.1.3 复制大小可变的单元格区域    11.1.4 选中或者识别各种类型的单元格区域    11.1.5 提示输入单元格中的值    11.1.6 在下一个空单元格中输入一个值    11.1.7 暂停宏的运行以便获得用户选中的单元格区域    11.1.8 计算选中的单元格的数目    11.1.9 确定选中的单元格区域的类型    11.1.10 有效地遍历选中的单元格区域    11.1.11 删除所有空行    11.1.12 任意次数地复制行    11.1.13 确定单元格区域是否包含在另一个单元格区域内    11.1.14 确定单元格的数据类型    11.1.15 读写单元格区域    11.1.16 在单元格区域中插入值的更好方法    11.1.17 传递一维数组中的内容    11.1.18 将单元格区域传递给Variant类型的数组    11.1.19 按数值选择单元格    11.1.20 复制非连续的单元格区域   11.2 处理工作簿和工作表    11.2.1 保存所有工作簿    11.2.2 保存和关闭所有工作簿    11.2.3 隐藏除选区之外的区域    11.2.4 同步工作表   11.3 VBA技巧    11.3.1 切换布尔类型的属性值    11.3.2 确定打印页面的数量    11.3.3 显示日期和时间    11.3.4 获得字体列表    11.3.5 对数组进行排序    11.3.6 处理一系列文件   11.4 使用在代码中的一些有用的函数    11.4.1 FileExists函数    11.4.2 FileNameOnly函数    11.4.3 PathExists函数    11.4.4 RangeNameExists函数    11.4.5 SheetExists函数    11.4.6 WorkbookIsOpen函数    11.4.7 检索已经关闭的工作簿中的值   11.5 一些有用的工作表函数    11.5.1 返回单元格的格式信息    11.5.2 会说话的工作表    11.5.3 显示在保存或打印文件时的时间    11.5.4 理解对象的父亲    11.5.5 计算值介于两个值之间的单元格数目    11.5.6 计算单元格区域中可见单元格的数目    11.5.7 确定行或列中最后一个非空的单元格    11.5.8 字符串与模式匹配    11.5.9 从字符串中提取第n个元素    11.5.10 多功能的函数    11.5.11 SheetOffset函数    11.5.12 返回所有工作表中数据的最大值    11.5.13 返回没有重复的随机整数元素的数组    11.5.14 随机化单元格区域   11.6 Windows API调用    11.6.1 确定文件的关联性    11.6.2 确定磁盘驱动器信息    11.6.3 确定默认打印机的信息    11.6.4 确定视频显示器的信息    11.6.5 为应用程序添加声音    11.6.6 读写注册表 第Ⅳ部分 用户窗体  第12章 多种自定义对话框的方法   12.1 创建用户窗体之前需要了解的内容   12.2 使用输入框    12.2.1 VBA的InputBox函数的使用    12.2.2 Excel的InputBox方法   12.3 VBA的MsgBox函数   12.4 Excel的GetOpenFilename方法   12.5 Excel的GetSaveAsFilename方法   12.6 提示输入目录名称    12.6.1 使用Windows API函数选中目录    12.6.2 使用FileDialog对象选中目录   12.7 显示Excel的内置对话框    12.7.1 关于Dialogs集合    12.7.2 执行功能区命令   12.8 显示数据记录单    12.8.1 使得数据记录单变得可以访问    12.8.2 通过使用VBA显示数据记录单  第13章 用户窗体概述   13.1 Excel如何处理自定义对话框   13.2 插入新的用户窗体   13.3 向用户窗体添加控件   13.4 “工具箱”中的控件    13.4.1 复选框    13.4.2 组合框    13.4.3 命令按钮    13.4.4 框架    13.4.5 图像    13.4.6 标签    13.4.7 列表框    13.4.8 多页    13.4.9 选项按钮    13.4.10 RefEdit    13.4.11 滚动条    13.4.12 数值调节钮    13.4.13 TabStrip    13.4.14 文本框    13.4.15 切换按钮   13.5 调整用户窗体的控件   13.6 调整控件的属性    13.6.1 使用“属性”窗口    13.6.2 共同属性    13.6.3 更多属性的信息    13.6.4 适应键盘用户的需求   13.7 显示和关闭用户窗体    13.7.1 显示用户窗体    13.7.2 关闭用户窗体    13.7.3 关于事件处理程序   13.8 创建用户窗体的示例    13.8.1 创建用户窗体    13.8.2 编写代码显示对话框    13.8.3 测试对话框    13.8.4 添加事件处理程序    13.8.5 验证数据的有效性    13.8.6 完成的对话框作品   13.9 理解用户窗体的事件    13.9.1 了解事件    13.9.2 用户窗体的事件    13.9.3 数值调节钮的事件    13.9.4 数值调节钮与文本框配对   13.10 引用用户窗体的控件   13.11 自定义“工具箱”    13.11.1 更改图标或提供文本    13.11.2 添加新页    13.11.3 自定义或组合控件    13.11.4 添加新的ActiveX控件   13.12 创建用户窗体的模板   13.13 用户窗体检验表  第14章 用户窗体示例  第15章 用户窗体的高级技巧 第Ⅴ部分 高级编程技巧  第16章 用VBA开发Excel实用程序  第17章 使用数据透视表  第18章 使用图表  第19章 理解Excel的事件  第20章 与其他应用程序的交互  第21章 创建和使用加载宏 第Ⅵ部分 开发应用程序  第22章 使用功能区  第23章 使用快捷菜单  第24章 为应用程序提供帮助  第25章 开发面向用户的应用程序 第Ⅶ部分 其他主题  第26章 兼容性问题  第27章 用VBA处理文件  第28章 使用Visual Basic组件  第29章 理解类模块  第30章 使用颜色  第31章 有关Excel编程的常见问题 第Ⅷ部分 附录
目录 '1.函数作用:返回 Column 英文字........................9 '2.函数作用:查询某一值第num次出现的值................9 '3.函数作用:返回当个人工资薪金所得为2000元(起征点为850元)时的应纳个人所得税税额.............................10 '4.函数作用:从形如"123545ABCDE"的字符串中取出数字....11 '5.函数作用:从形如"ABCD12455EDF"的字符串中取出数字...11 '6.函数作用:按SplitType取得RangeName串值中的起始位置12 '7.函数作用:将金额数字转成中文大写....................13 '8.函数作用:计算某种税金..............................18 '9.函数作用:人民币大、小写转换........................19 '10.函数作用:查汉字区位码.............................20 '11.函数作用:把公元年转为农历.........................21 '12.函数作用:返回指定列数的列标.......................42 '13.函数作用:用指定字符替换某字符.....................43 '14.函数作用:从右边开始查找指定字符在字符串中的位置...43 '15.函数作用:从右边开始查找指定字符在字符串中的位置...44 '16.函数作用:计算工龄.................................44 '17.函数作用:计算日期差,除去星期六、星期日...........45 '18.函数作用:将英文字反转的自定函数...................46 '19.函数作用:计算个人所得税...........................46 '20.函数作用:一个能计算是否有重复单元的函数...........47 '21.数字金额转中文大写................................48 '22.函数作用:将数字转成英文...........................49 '23.函数作用:人民币大小写转换.........................52 '24.函数作用:获取区域颜色值...........................53 '25.函数作用:获取活动工作表名.........................53 '26.函数作用:获取最后一行行数.........................54 '27.函数作用:判断是否连接在线.........................54 '28.函数作用:币种转换.................................54 '29.函数作用:检验工作表是否有可打印内容...............55 '30.函数作用:查找一字符串(withinstr)在另一字符串中(findstr1)中某一次(startnum)出现时的位置,返回零表示没找到。..................................................57 '31.函数作用:增加文件路径最后的“\”符号..............58 '32.函数作用:计算所得税...............................58 '33.函数作用:从工作表第一行的标题文字以数字形式返回所在列号..................................................58 '34.函数作用:在多个工作表中查找一个范围内符合某个指定条件的项目对应指定范围加总求和..........................59 '35.函数作用:返回 Column 英文字.......................60 '36.函数作用:查找指定列名的列数.......................60 '37.函数作用:文字格式的时间(分:秒)转化为数字格式(秒)..61 '38.函数作用:将"hh:mm:ss"格式的时分秒数转换成秒数.....62 '39.函数作用:金额中文大写转数字.......................62 '40.函数作用:把角度转为度秒分、弧度等显示.............63 '41.函数作用:身份证号码侦测...........................64 '42.函数作用:显示公式.................................65 '43.函数作用:方便财务人员理帐查找.....................66 '44.函数作用:数值转换为字符地址.......................68 '45.函数作用:字符地址转换为数值.......................69 '46.函数作用:等待时间(以秒计算).....................69 '47.函数作用:得到字符串实际的长度(以单字节记).......70 '48.函数作用:18位身份证最后一位有效性验证............70 '49.函数作用:计算符合maturity condition的拆解金额....72 '50.函数作用:对多个用同一分隔符分隔的待查找元素,逐一在表区域首列内搜索,将返回选定单元格的值相加,............72 '51.函数作用:根据个人所得税(工资)反算工资数.........73 '52.函数作用:判断表是否存在...........................74 '53.函数作用:角度转弧.................................74 '54.函数作用:比较相同的字符串.........................75 '55.函数作用:对选定的数组进行排序.....................76 '56.函数作用:取得指定月份天数.........................77 '57.函数作用:排序工作表活页薄.........................77 '58.函数作用:统计数组中非重复数据个数.................78 '59.函数作用:摘取子字符串.............................79 '60.函数作用:计算20000余个汉字的笔画.................79 '61.函数作用:删除当前工作表中的全部超连接.............80 '62.函数作用:取得相近数据.............................81 '63.函数作用:提取定串中汉字...........................81 '64.函数作用:搜索重复数据(选定范围)...................81 '65.函数作用:字符型转数字型...........................82 '66.函数作用:小写人民币转大写人民币...................83 '67.函数作用:取得指定月份人星期天个数.................84 '68.函数作用:侦测档案是否包含宏.......................84 '69.函数作用:获取循环参照单元格.......................85 '70.函数作用:创建桌面快捷方式.........................86 '71.函数作用:自动建立多级目录.........................86 '72.函数作用:统计经筛选后符合条件的记录条数...........87 '73.函数作用:复制单元格列高与栏宽.....................87 '74.函数作用:取消隐藏工作表(包括vba Project工程保护的)88 '75.函数作用:删除单元格自定义名称.....................88 '76.函数作用:从文件路径中取得文件名...................89 '77.函数作用:取得一个文件的扩展名.....................89 '78.函数作用:取得一个文件的路径.......................90 '79.函数作用:十进制转二进制...........................90 '80.函数作用:检查一个数组是否为空.....................90 '81.函数作用:字母栏名转数字栏名.......................91 '82.函数作用:数字栏名转文字栏名.......................91 '83.函数作用:判断一件活页夹中是否还有子目录...........92 '84.函数作用:判断一个文件是否在使用中.................92 '85.函数作用:列出档案详细摘要信息.....................93 '86.函数作用:获取菜单ID编号及名称列表................93 '87.函数作用:状态列动态显示文字.......................94 '88.函数作用:取得一个文件的路径2.....................94 '89.函数作用:取得一个文件的路径3.....................95 '90.函数作用:取得Activecell的栏名....................95 '91.函数作用:取得单元格中指定字符前的字符.............95 '92.函数作用:前单元格指定字符前的字符颜色改成红色.....95 '93.函数作用:根据数字返回对应的字母列号...............96 '94.函数作用:取工作表名字.............................96 '95.函数作用:取消所有隐藏的宏表.......................97 '96.函数作用:导出VBA Project代码.....................97 '97.函数作用:导入VBA Project代码.....................97 '98.函数作用:取得汉字拼音的第一个字母.................98 '99.函数作用:获取两栏中相同的数据....................100 '100.函数作用:选取当前工作表中公式出错的单元格﹐关返回出错个数...............................................101 '101.函数作用:将工作表中最后一列作为页脚打印在每一面页尾101 '102.函数作用:获取vbproject引用项目.................102 '103.函数作用:移除Excel工作表中的外部数据连接.......103 '104.函数作用:将选择定单元格作成镜像图片.............103 '105.函数作用:反选择单元格中的数.....................105 '106.函数作用:在Excel中加入一个量度尺(以厘米为单位).106 '107.函数作用:在Excel中加入一个量度尺(以寸为单位)...109 '108.函数作用:取得一个短文件名的长文件名.............111 '109.函数作用:取得临时文件名.........................112 '110.函数作用:等用Shell调用的程序执行完成后再执行其它程序...................................................112 '111.函数作用:将Mouse显示成动画.....................113 '112.函数作用:限制Mouse移动范围.....................114 '113.函数作用:取得当前激活窗品句柄及标题.............114 '114.函数作用:取得屏幕分辨率.........................115 '115.函数作用:自动建立多级目录.......................115 '116.函数作用:将文件长度置零.........................116 '117.函数作用:读取WIN9X / Me共享文件夹密码..........116 '118.函数作用:取得预设的打印机及设置预设的打印机.....119 '119.函数作用:获得当前操作系统的打印机个数及检测打印是否存在.................................................120 '120.函数作用:枚举打印机名称清单.....................120 '121.函数作用:读取网络服务器当前时间.................122 '122.函数作用:下载文件到指定目录.....................123 '123.函数作用:自动映射网络驱动器.....................124 '124.函数作用:自动断开网络驱动器.....................125 '125.函数作用:连接选定单元格中的内容.................125 '126.函数作用:获取一个单元格中有指定字体颜色部份数据.126 '127.函数作用:对指定文件加XLS加密...................126 '128.函数作用:选择指定范围内使用了填充颜色的单元格...127 '129.函数作用:在特定的区域内查找文本,返回值是包含查找文本的单元格...........................................127 '130.函数作用:返回特定区域中最大值的地址.............128 '131.函数作用:删除表格中使用范围内的所有空白单元格...129 '132.函数作用:返回数组中有多少个指定的字符串.........129 '133.函数作用:返回当前工作表中引用了指定的单元的地址.130 '134.函数作用:获取Excel中字型列表...................131 '135.函数作用:获取一个字符串中有多少个数字字符.......131 '136.函数作用:在Excel中对多列进行填充...............131 '137.函数作用:对选定的范围进行数据填充(忽略单元格格式)132 '138.函数作用:VBA Project加密及解密.................132 '139.函数作用:列出收藏夹中的网址.....................133 '140.函数作用:计算两个日期之间相隔的年份,比如年龄,工龄等.可计算从1000年01月01日起的日期....................134 '141.函数作用:从字符串提取纯数字.....................135 '142.函数作用:将一个数组按升序排列...................136 '143.函数作用:将一个数组按降序排列...................137 '144.函数作用:删除空白列.............................137 '145.函数作用:判断工作表是否为空白...................138 '146.函数作用:将数据按类分到不同工作薄...............138 '147.函数作用:单元格内数据排序.......................139 '148.函数作用:对多栏排序.............................140 '149.函数作用:返回计算公式的值 [,值的计算公式].......140 '150.函数作用:把第一列=某个值对应的第二列的内容连在一起,并用、隔开...........................................141 '151.函数作用:取得系统使用模式.......................142 '152.函数作用:计算机注销/关机/重启...................142 '153.函数作用:更改计算机名称.........................143 '154.函数作用:从n位开始取出字符串中的汉字、英文字母、数字...................................................143 '155.函数作用:在指定列中寻找含有指定字符串的单元格,并将符合条件的单元格标为红色,并将对应的下一列单元格赋值为1。.....................................................144 '156.函数作用:清除字符串中的空格.....................145 '157.函数作用:查找合并单元格位置.....................145 '158.函数作用:阴阳历转换和阴阳历生日.................145 '159.函数作用:利用数组和Substitute来替换某字符......149 '160.函数作用:一键创建斜线表头.......................150 '161.函数作用:自动获取指定月的工作日.................151

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

独行侠_阿涛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值