当前位置:主页 > Office办公

最新发布

Excel TDIST 函数 使用实例教程
Excel TDIST 函数 使用实例教程

TDIST 函数返回学生 t-分布。学生 t-分布。=TDIST(x, deg_freedom, tails) 参数 X 必需。 需要计算分布的数值。 Deg_freedom 必需。 一个表示自由度数的整数。 Tails 必需。 指定返回的分布函数是单尾分布还是双尾分布。 如果 Tails = 1,则返回单尾分布; 如果Tails = 2,则返回双尾分布。 实例

638 次浏览
excel 公式中的单元格引用使用基础教程
excel 公式中的单元格引用使用基础教程

单元格引用表示工作表上单元格的位置。在公式中想要获取目标单元格的值时,使用目标单元格所在列的字母标题和行的数字标题组成的符号表示该单元格的引用,并在公式中使用该单元格的值。例如,在 A1 单元格输入公式 =C1 时,它会引用 C1 单元格并获取其值,显示在 A1 单元格内。使用单元格引用可以引用一个单元格,也可以引用多个单元格,即单元格区域;可以引用当前工作表上的单元格,也可以引用不同工作表或不同工作簿上的单元格。引用格式如下:=[工作簿名称]工作表标题!单元格地址 当引用相同工作表里的单元格时,工作簿名称和工作表标题可省略。

390 次浏览
excel INT函数与TRUNC函数的用法与区别
excel INT函数与TRUNC函数的用法与区别

INT函数INT函数的作用是将数值向下取整为最接近的整数。其语法结构为:INT(number),参数number为需要进行向下取整的实数。TRUNC函数TRUNC函数用于将数值小数点左边或右边指定位数后面的部分截去。其语法结构为:TRUNC(number, [num_digits]),参数number为需要进行截尾操作的数字,num_digits是用于指定取整精度的数字,在省略的情况下,num_digits默认为0。num_digits也可以为负数,表示将小数点左边指定位数后面的部分截去,均以0记。两者的区别1、INT函数返回的结果始终为整数,TRUNC函数返回的结果可以是整数也可以是保留指定小数位数的数值。2、INT函数返回的是小于原数值的最大整数;TRUNC函数在原数值为负数时,返回结果会出现大于原数值的情况,参见下图最后两行。

413 次浏览
excel TEXT函数实用案例分享
excel TEXT函数实用案例分享

语法结构及特征TEXT函数的作用是根据指定的数字格式将数字转换成文本,其语法结构为:TEXT(value,format_text)。参数value可以是数值型数字也可以是文本型数字。参数format_text为指定的文字形式的数字格式代码,与单元格数字格式中的代码基本相同,两者的区别如下:1、设置单元格格式只改变显示形式,不会改变内容本身,而TEXT函数从形式到内容都一起改变。如,对数值型数字设置单元格格式,仅仅是数字显示外观的改变,其实质仍是数值,不影响计算;使用TEXT函数将数值型数字转换为带格式的文本,其实质已经是文本,不再具有数值的特性;2、单元格格式设置效果更丰富,如,在单元格格式设置中能自定义数值显示的颜色,TEXT函数则无法实现。下面分享5个实用案例,以加深大家对TEXT函数的理解。案例1:将数字四舍五入后保留指定的小数位数应用场景:将下图A2单元格中的数字四舍五入后保留1位小数。操作步骤:选中B2单元格,输入公式:=TEXT(A2,"0.0"),按回车键确认即可返回结果123.5。案例2:在会员编号前面加0使数字显示为指定位数

332 次浏览
特殊隐藏名称(Name) 在 Excel 中的使用基础教程
特殊隐藏名称(Name) 在 Excel 中的使用基础教程

我们有一篇文章讲了Excel 名称(Name)及其 VBA 中的使用, 其实在 Excel 中还有一个更为神奇的名称空间,这个被隐藏的名称空间存在于 Excel 应用程序当前实例的一块内存区域中,动态链接库加载项(即 Xll)能够在这块区域中存储临时的名称。通过这个区域,Xll 加载项甚至可以在没有可用宏表的情况下来定义名称。要操作这个隐藏名称我们需要用到宏表函数中的 SET.NAME、GET.NAME 和 EVALUATE 这三个函数。当 SET.NAME 被应用于宏表中时,创建的名称是工作表级别的(局部名称),而在 Xll 中使用 SET.NAME 所定义的名称是应用程序级别的(注意:不只是工作簿级别的,而是可用于所有工作簿的超全局名称)并且储存在一个隐藏的区域中。正式以上原因使得定义在被隐藏区域的名称有一些特殊的功能,这使得它们与标准工作簿名称有很大的不同。这些功能我们将在后面进行说明。一、与隐藏着的名称相关的可用 C API 命令如下:Excel4(xlfSetName,&xResult,2,&xName,&xValue): 定义包含xValue的名称xlName。 Excel4(xlfGetName,&xResult,1,&xName): 获取xlName的定义(例如”=1”)并将它存储在xResult中。 Excel4(xlfEvaluate,&xResult,1,&xName): 获取xlName的内容(例如:1)并将它存储在xResult中。 Excel4(xlfSetName,&xResult,1,&xName): 删除xName(忽略第二个参数)。二、在VBA中访问被隐藏的名称空间 1、创建一个隐藏的名称下面的语句创建一个包含字符串“OK”的名为Test的隐藏名称: Application.ExecuteExcel4Macro "SET.NAME(""Test"",""OK"")"2、获取一个隐藏名称所代表的内容为了获取名称Test所代表的内容,使用下面的代码: TestVal = Application.ExecuteExcel4Macro("Test")注意,只使用名称本身作为ExecuteExcel4Macro的参数。

616 次浏览
excel 如何制作带下拉框的动态折线图表实现教程
excel 如何制作带下拉框的动态折线图表实现教程

首先我们需要有个类似下图产品销量的基础数据表。 首先将光标放入表格中任意位置,然后插入一个不带点标记的折线图,然后将折线的颜色设置为灰色。 第一次设置成灰色后,一定善用f4快捷键进行快速的折线颜色设置。注意看动图的操作。 这一步就做好了动图的“背景”图表部分,接下来做动态的部分,也就是能显示红色的折线部分。 首先搞定动图的数据部分,下拉框如何抓取数据,也就是我们前面讲到的“下拉框+Choose”黄金搭档。可以参看:531.Excel技巧:如何制作控件控制的动态条形图? 具体操作如下: 在开发工具中插入下拉窗口控件。

excel API Hook 的应用 绕过 VBA 密码保护
excel API Hook 的应用 绕过 VBA 密码保护

这是一段从网络收集的代码, 代码运用 API Hook 来绕过 VBA 的密码保护机制,在 VBE 中可以直接查看加密的 VBA 工程而不需要密码验证。网络转载,非原创,感谢作者提供的强大代码。注意:本代码不能用于 64 位 Office, 有时间我会把它修改一下,使其可以用于 64 位 Office。'*************************************************************************** '* '* MODULE NAME: Protected VBA project Picklock(PVP) '* '* Usage: 运行FrmHookMain窗口,点补丁,然后双击工程窗口中有密码保护的模块 '* 应该能够直接打开了:) '* '* '* DESCRIPTION: 在写中文字符串转换为拼音函数(HzToPy)过程中,第一次发现VBA功能的强大. '* 于是这次尝试将其他语言中比较好写的API HOOK移植成VBA代码, '* 正好顺便把VBA密码保护去掉,喜欢加密码的朋友不要生气啊:) '* 总的来说VBA的写法和其他语言区别不大,但VBA毕竟不太方便,代码必须放在标准模块中. '* 再有就是对指针的支持实在有限,于是最后选择了一种写起来最简单的API hook方法, '* 就是所谓的陷阱法.如果你不太清楚什么是API HOOK,请求助于google. '* '* Theory: 这里就不说API hook的方法了,都是传统方法没什么可说的,这里只 '* 简单说下VBA模块密码破解.其实这些我也不是很了解,毕竟知道加密过程 '* 用处不大,这个问题上我比较关心结果:) '* 判断有密码以及提示输入密码都是VBE6.dll干得好事.如果有密码, '* VBE6.dll会调用DialogBoxParamA显示VB6INTL.dll资源中的第4070号 '* 对话框(就是那个输入密码的窗口),若DialogBoxParamA返回值非0, '* 则VBE会认为密码正确,然后乖乖展开加密模块的资源.很显然其中存在很大 '* 漏洞,就像给日记本加上了锁,但里面全是活页,我们不需要打开锁,只要从侧面 '* 取出活页就可以了.这个从侧面取活页的过程就是hook住DialogBoxParamA函数, '* 若程序调用DialogBoxParamA装入4070号对话框,我们就直接返回1,让 '* VBE以为密码正确. '* '* PS: PVP是在一个叫Advanced VBA Password Recovery (AVPR)的软件启发下 '* 作出来的,AVPR提供了一个VBA Backdoor功能就是跳过密码直接查看工程资源. '* 它的原理和PVP一样,但用了通用性比较差的方法,适用系统比较有限,而PVP的方法 '* 理论上适用于所有采用第4070号对话框录入密码的Office系统. '* 经测试PVP适用于Office 2002, 2003, 2007,其他版本尚未测试,但估计依然有效. '* 在2000和XP系统上测试通过,但条件限制没有在Vista系统上测试,听说Vista有些机制 '* 可能影响API hook,暂时没机会测试就先这样吧~ '* '* *64位操作系统下面的API hook代码肯定运行出错,就不要测试了 '* '*************************************************************************** Option Explicit Private Declare Sub MoveMemory Lib "kernel32" Alias "RtlMoveMemory" _ (Destination As Long, Source As Long, ByVal Length As Long) Private Declare Function VirtualProtect Lib "kernel32" (lpAddress As Long, _ ByVal dwSize As Long, ByVal flNewProtect As Long, lpflOldProtect As Long) As Long Private Declare Function GetModuleHandleA Lib "kernel32" (ByVal lpModuleName As String) As Long Private Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, _ ByVal lpProcName As String) As Long Private Declare Function DialogBoxParam Lib "user32" Alias "DialogBoxParamA" _ (ByVal hInstance As Long, ByVal pTemplateName As Long, ByVal hWndParent As Long, _ ByVal lpDialogFunc As Long, ByVal dwInitParam As Long) As Integer Dim HookBytes(0 To 5) As Byte Dim OriginBytes(0 To 5) As Byte Dim pFunc As Long Dim Flag As Boolean Private Function GetPtr(ByVal Value As Long) As Long '获得函数的地址 GetPtr = Value End Function Public Sub RecoverBytes() '若已经hook,则恢复原API开头的6字节,也就是恢复原来函数的功能 If Flag Then MoveMemory ByVal pFunc, ByVal VarPtr(OriginBytes(0)), 6 End Sub Public Function Hook() As Boolean Dim TmpBytes(0 To 5) As Byte Dim p As Long Dim OriginProtect As Long Hook = False 'VBE6.dll 调用 DialogBoxParamA 显示 VB6INTL.dll 资源中的第 4070 号对话框(就是输入密码的窗口) '若 DialogBoxParamA 返回值非 0,则 VBE 会认为密码正确,所以我们要 hook DialogBoxParamA 函数 pFunc = GetProcAddress(GetModuleHandleA("user32.dll"), "DialogBoxParamA") '标准 api hook 过程之一: 修改内存属性,使其可写 If VirtualProtect(ByVal pFunc, 6, &H40, OriginProtect) <> 0 Then '标准api hook过程之二: 判断是否已经hook,看看API的第一个字节是否为&H68, '若是则说明已经Hook MoveMemory ByVal VarPtr(TmpBytes(0)), ByVal pFunc, 6 If TmpBytes(0) <> &H68 Then '标准 api hook 过程之三: 保存原函数开头字节,这里是6个字节,以备后面恢复 MoveMemory ByVal VarPtr(OriginBytes(0)), ByVal pFunc, 6 '用 AddressOf 获取 MyDialogBoxParam 的地址 '因为语法不允许写成p = AddressOf MyDialogBoxParam,这里我们写一个函数 'GetPtr,作用仅仅是返回 AddressOf MyDialogBoxParam 的值,从而实现将 'MyDialogBoxParam 的地址付给p的目的 p = GetPtr(AddressOf MyDialogBoxParam) '标准api hook过程之四: 组装API入口的新代码 'HookBytes 组成如下汇编 'push MyDialogBoxParam的地址 'ret '作用是跳转到MyDialogBoxParam函数 HookBytes(0) = &H68 MoveMemory ByVal VarPtr(HookBytes(1)), ByVal VarPtr(p), 4 HookBytes(5) = &HC3 '标准api hook过程之五: 用HookBytes的内容改写API前6个字节 MoveMemory ByVal pFunc, ByVal VarPtr(HookBytes(0)), 6 '设置hook成功标志 Flag = True Hook = True End If End If End Function Private Function MyDialogBoxParam(ByVal hInstance As Long, _ ByVal pTemplateName As Long, _ ByVal hWndParent As Long, _ ByVal lpDialogFunc As Long, _ ByVal dwInitParam As Long) As Integer If pTemplateName = 4070 Then '有程序调用DialogBoxParamA装入4070号对话框,这里我们直接返回1,让 'VBE以为密码正确了 MyDialogBoxParam = 1 Else '有程序调用DialogBoxParamA,但装入的不是4070号对话框,这里我们调用 'RecoverBytes函数恢复原来函数的功能,在进行原来的函数 RecoverBytes MyDialogBoxParam = DialogBoxParam(hInstance, pTemplateName, _ hWndParent, lpDialogFunc, dwInitParam) '原来的函数执行完毕,再次hook Hook End If End Function

533 次浏览
excel 中large函数的使用方法介绍
excel 中large函数的使用方法介绍

Excel中LARGE函数的用法是:传回资料组中第k个最大的数值。可以用这个函数来指定选取排在第几位的值。例如,可以使用LARGE函数传回最高、第二高或第三高的分数。  LARGE函数的语法是:LARGE(array, k)  LARGE函数语法具有下列参数:   第一,Array:是要找出第 k 个最大值之数值资料的阵列或范围。  第二,K:是要传回之资料阵列或储存格范围中的位置 (由最大值算起)。  LARGE函数说明:  如果 array 是空值,则 LARGE函数传回错误值 #NUM!。   如果 k ≦ 0 或 k大于资料点的个数,则LARGE函数传回错误值 #NUM!。   如果n是范围中资料点的个数,则 LARGE(array,1) 传回最大值,而 LARGE(array,n) 传回最小值。本文,给出一个成绩表,利用LARGE函数,统计出总成绩分数在前三名的分数分别为多少。详见下图:  large函数实例:进行排名,操作步骤如下:

648 次浏览
excel公式中常用的符号使用总结
excel公式中常用的符号使用总结

在Excel公式中,我们要经常用到一些符号,下面小编给大家简单总结一下星号* 表示乘号 ,在公式中做通配符使用,可以代替多个字符。问号 ? 在公式中可以做通配符使用,可以代替一个字符。逗号, 在公式中起到分隔参数的作用,如 =SUM(A1,B10,C100) 将三个参数分开。除号/ 运算符号,除号。幂号^表示几次方。<> 运算符号,不等于号。<= 运算符号,小于等于号。>= 运算符号,大于等于号。

578 次浏览
excel vlookup函数的使用方法,能够加深大家对函数vlookup的用法的理解
excel vlookup函数的使用方法,能够加深大家对函数vlookup的用法的理解

函数vlookup的用法,听过咱们公开课的童鞋,几乎都知道如何用。套用下面的格式即可:  VLOOKUP(查找值, 单元格区域, (返回值)列号, [精确/模糊查找])

327 次浏览
共计75934条记录 上一页 1.. 5639 5640 5641 5642 5643 5644 5645 ..7594 下一页