Office 组件
文章平均质量分 67
gracexu
这个作者很懒,什么都没留下…
展开
-
Excel 中用公式列出唯一值——模拟高级筛选功能
在 Excel 中处理数据时,我们经常会遇到包含重复数值的列。比如,员工表或客户表的城市一列,又比如商品销售清单的商品名称一栏。数据处理工作的一个内容可能就是列出这些数据的唯一值,看看哪些城市有客户,供应商或员工,看看哪些商品被卖了出去。这个任务用 Excel 的高级筛选功能是非常容易做到的。不过,也许是出于对算法的追求,有一个用公式的解法来列出唯一值。我不是这个公式的原创者,但还是很愿意解释一下原创 2009-03-31 23:36:00 · 9670 阅读 · 3 评论 -
微软的Office 教学示例文件如何在打开时自动打开教学帮助文件
微软在文档上做的功夫一直是我推崇备至的。它旗下的几个网站,如 MSDN,TechNet,Support 和 Office 都提供了数量及其丰富的技术文档,从初学者到资深人士,都能找到对自己有用的东西。就拿 Office 的学习来说,我一直认为没必要专门去买《入门》,《指南》,《进阶》,《大全》,《宝典》什么的,只要沉下心来仔细看微软 Office 产品提供的帮助文件,就能够精通 Office 的使原创 2008-05-04 11:37:00 · 1565 阅读 · 1 评论 -
Access 2003 的两种SQL 查询模式:ANSI-89 和 ANSI-92
Access 作为桌面型数据库,基本功能之一就是提供数据查询。查询要用到结构化查询语言,即 SQL(Structured Query Language)。SQL 语法有两种标准(美国国标):ANSI-89 和 ANSI-92。ANSI-89 SQL,也叫做 Microsoft Jet SQL 和 ANSI SQL,是传统的 Jet SQL 语法;ANSI-92 SQL 有新的和不同的保留字,语法规原创 2008-04-23 16:23:00 · 7005 阅读 · 0 评论 -
VBA 一条语句分多行和多条语句并在同一行
如标题所述,这正好是两个相反的需求。当我们在 VBE(Visual Basic Editor) 中编码的时候,有时候会碰到特别长的一条语句,一个屏幕显示不下来,要不停的拉滚动条来看完整条语句,特别不方便。这时我们就需要把这样的长语句分成好几行来写。在 VBA 里(VB 也是一样),空格加下划线 ( _) 在语法上表示继续一行代码。我们可以在一个比较自然的地方结束一行,比如逗号后面;然后加上空格原创 2008-04-21 15:31:00 · 18849 阅读 · 0 评论 -
Access,MS SQL Server 和 Oracle 中的通配符
Access,MS SQL Server 和 Oracle 中使用的通配符如果有什么不同,主要就是因为支持的 SQL 规范不同。SQL 语言发 布过两个规范:ANSI-89 和 ANSI-92。跟 ANSI-89 比起来,ANSI-92 SQL 有新的和不同的保留关键字,语法规则和通配符(Wildcard)。虽然是两个规范,并不表示支持哪个都好,ANSI-92 实际上是要替换 ANSI-89 的,原创 2008-04-18 17:23:00 · 3055 阅读 · 0 评论 -
Outlook 2003 的桌面提醒(Desktop Alerts)功能
MS Outlook 是比较流行的邮件客户端,它有一个新邮件通知功能,可以帮我们及时掌握邮件到达情况。Outlook 2002 和以前版本的新邮件通知功能长得是这个样子的: 说实话,我不是很喜欢这个功能。当邮件一下子来很多的时候,会不停的跳出这个消息框,点得我烦也烦死了。MS Outlook 2003 改进了这个功能,现在叫做“桌面提醒”了。默认情况下,“桌面提醒”功能处于打开状态,并在新原创 2008-04-11 15:09:00 · 11028 阅读 · 0 评论 -
Excel 中用条件格式化(Conditional Formatting)来定位/突显表单数据
Conditional Formatting 应该是MS Excel 2003开始提供的功能吧,我以前刚遇到这个功能时用英文写了篇Blog记录了一下这个功能。但那篇Blog非常简略,今天就这个功能详细记录一下应用方面的事情。这个功能用了一段时间下来,觉得最大的好处就是可以把要找的数据突显(Highlight)出来,而且是系统根据你预设的条件,满足了条件就自动帮你应用自定义的醒目格式。在讲例原创 2008-01-17 15:32:00 · 54120 阅读 · 2 评论 -
Excel 中用公式统计唯一值的方法
Excel 表单里储存的数据,经常会出现重复值,比如员工表或客户表的城市一栏,会反复出现一些城市的名字。有的时候,我们想知道有员工或客户的城市的数量,也就是求唯一值的数量。我们可以用很多方法来做,比如用 Advanced Filter 功能来列出唯一的城市名再计算总数, 除此之外,我们还可以用公式来求这个唯一值的数量。 在讲用公式求唯一值的技巧前,我们先要了解一下Frequency 这个函数,原创 2008-01-16 16:08:00 · 14059 阅读 · 0 评论 -
在 Excel 中使用高级筛选功能
Excel 是存放大量数据的地方,但它又不是个专业的数据库。然而Excel 用户对数据的操作要求却越来越靠近数据库。比如筛选这件事吧,Excel 的 AutoFilter 功能大多数人都会用,也许还会自定义一下,但是条件一多,AutoFilter 功能就应付不过来了。例如,AutoFilter 的自定义只支持两个判断式的Or 或And关系,当我们在员工表里查找“张三”和“李四”的信息时,还能发挥原创 2008-03-20 16:49:00 · 20637 阅读 · 0 评论 -
Excel 2003 中如何自定义 Number 格式
Excel 中的单元格像个任人打扮的小姑娘,有太多的格式可以应用。打开 Format Cells 对话框,我们可以看到单元格可用的格式都分成了好几个大类:Number 用来指定键盘输入的内容如何显示;Alignment 提供各种各样的对齐方式,包括文本显示的角度; Font 指定字体类型、大小、颜色、风格,以及各种各样的装饰,比如下划线什么的;单元格的边框设置精细到四条边的每一边和中间的对角线都可原创 2008-05-04 17:47:00 · 8111 阅读 · 0 评论 -
在 Excel 中编写自定义函数——基础篇
工作中经常在 Excel 中使用公式,很多问题不是一个函数可以解决的,往往是很多函数嵌套在一起。熟练以后,输入很长很长的公式倒也不是什么难事,就当是一次脑筋锻炼。但是阅读上到底有点不方便,尤其是隔了很长时间再去看这个公式,又是一次脑筋锻炼,不如把工作中解决实际问题常用到的函数组合包装成单一的自定义函数来用。下面就总结一下如何在 Excel 中自定义函数。我这里说的自定义函数(User De原创 2008-07-08 17:37:00 · 20719 阅读 · 0 评论 -
Excel 中如何以多列数据为准则进行查询
工作中,我们经常需要在 Excel 工作表中查找某个值。数据量少时用“Find and Replace”对话框手工找还可以对付,数据量很大或者我们需要把数据分离出来看得更清楚的话,就要用筛选或公式等手段了。对于在单列或单行中查找数据,我们有很多现成的函数可用,比如 VLOOKUP,HLOOKUP,Match 和 Index 的组合。如果是比较多列,要满足两个或两个以上的条件怎么办呢?看一个具体原创 2008-06-25 17:39:00 · 12823 阅读 · 9 评论 -
Excel 中如何逆序排列数据
想到这个问题,是因为工作中有张 Excel 表本来是时间从大到小排列的,现在要和其它表数据合并,需要把时间从小到大排列。这件事也具有一定的普遍性,就是把原先的数据逆序放置,我把我的方法总结一下。本来指望 Excel 有个类似“Paste in Reverse Order”的命令,但是没有找到,只有转置粘贴(Transpose),不能实现我的要求。我还是选择用公式来解决这个问题。请看示例数据原创 2008-06-26 15:10:00 · 19696 阅读 · 5 评论 -
Excel 2003 的命令栏控件名称和 ID 列表
Worksheet Menu Bar 1 &File 30002 &Edit 30003 &View 30004 &Insert 30005 F&ormat 30006 &Tools 30007 &Data 30011 A&ction 30083原创 2008-06-02 11:08:00 · 3892 阅读 · 0 评论 -
在 Excel 中自定义菜单栏和工具栏-添加、删除、禁止等
关于在 Excel 中如何自定义菜单栏和工具栏,甚至快捷菜单,微软有篇很详细的文档:如何在 Excel 中自定义菜单和菜单栏。我再把自己的经验补充一下:当我们打开 Excel 的时候,我们会看到一个菜单栏,还有根多工具栏。具体显示哪些工具栏,我们可以通过 View->Toolbars 来控制。同时,这个长长的列表最后一项“Customize”很有用,我们可以通过这个命令来修改 Offcie 系原创 2008-06-02 10:36:00 · 17318 阅读 · 0 评论 -
Access 2003 的输入掩码(Input Mask)
我曾经记录过在 Excel 中如何自定义单元格数据的显示方式,在 Access 中,基础表和查询的字段,某些窗体控件也有 Format 这个属性,可以让我们自定义数字、时间日期、文本的显示方式。大体上,Access 和 Excel 在定义格式时用的占位符差不多,不过 Access 是强数据类型的,对于数字、日期、文本等各个不同的数据类型,有不同的格式定义,比 Excel 要复杂一些。我这里要记原创 2008-05-20 15:14:00 · 10738 阅读 · 1 评论 -
Access 的 Label 控件换行和 Excel 的单元格换行
当我们在 Excel 单元格中输入字符时,按下 Enter 键光标就移到下面一个单元格去了。为了能在当前单元格里换行继续输入,按住 Alt 键再按 Enter,这样就不会跳到下一个单元格,而是在当前单元格里插入新的一行。类似的,当我们在 Access 窗体的设计视图时,我们有时候会想要 Label控件的标题属性换行,放上一大段说明性文字,而不是放上多个 Label 控件。在想插入换行符的地方按 C原创 2008-05-10 01:48:00 · 4163 阅读 · 0 评论 -
在 Excel 中查找和替换特殊字符 * 和 ?
上班的时候,旁边一个 MM 问我,怎么把 Excel 文件里所有的 * 号删除?我问她,直接查找 * ,用空字符串替换不行吗?她说不行,这样会把所有的内容都删除的。哦,* 和 ?在 Excel 里面也是通配符。我接着想到了[*],但这是 Access 的专利,在 Excel 里行不通。不得已打开 Excel 帮助文件一查,原来 Excel 里的转义符是波浪号(~)。下面是 Excel 帮助文件原创 2008-07-15 16:20:00 · 21273 阅读 · 0 评论 -
在 Excel 中编写自定义函数——返回多个值
前面讲了自定义函数的基本框架和如何传递不定参数,这一篇讲如何返回多个值。返回多个值,基本上就可以理解为返回数组。我们自定义的返回数组的函数,跟 Excel 自带的数组函数一样,需要按 Ctrl+Shift+Enter 输入。在返回数组这件事上,我们需要决定返回的数组的维度。有下面几种情况:第一种情况,返回一个大小固定的数组。Function FixedFill() As Variant原创 2008-07-11 16:50:00 · 14277 阅读 · 0 评论 -
在 Excel 中编写自定义函数——模拟 SUM 函数
编写自定义函数是为了处理数据,如何向自定义的函数(UDF)传递待处理的数据就成为开发者要考虑的问题。就一般意义上的函数来说,参数列表通常是参数个数固定,类型明确的,比如下面的声明: Public Function MyFunc1(name As String, age As Integer) As String但是 Excel 里的函数有它的特殊性。我们在工作表里编写公式的时候,往往并原创 2008-07-09 17:19:00 · 7127 阅读 · 0 评论 -
Excel 中自定义函数的限制
写这篇文章的起因是因为我在Excel 2003 中用VBA 写了个自定义的函数。Function Test() As IntegerOn Error GoTo Test_errorRange("A1:B10") = "MyString"Test = 1Test_exit: Exit FunctionTest_error: MsgBox Err.Description Test原创 2008-03-19 16:40:00 · 3765 阅读 · 0 评论 -
Access 查询同一张表中某个字段含有重复项的记录
标题起得有点长,不过我要把文章主题表达的精确点。我的测试环境是Access 2003,操作对象是单一的表,目标是要把某个字段含有重复项的记录找出来。围绕这个目标再展开谈点相关的SQL语句。在两张表里查找匹配记录的方法我在另一篇日志记载过。我工作中维护的表,虽然都有主键,但是很多主键是自动生成的,并不能保证实际意义上的数据没有重复值。举例说,有张“Student”表,主键类型是“AutoNum原创 2007-12-19 15:36:00 · 36407 阅读 · 4 评论 -
Excel 中统计某个项目出现的次数,以及模拟SQL的Group by效果
我工作中要处理的数据,很多时候要统计某个项目出现的次数。以下面某个月的培训数据为例讲一下Excel 的技巧。 A B C D 1 城市原创 2008-01-23 11:18:00 · 27586 阅读 · 1 评论 -
Excel 中查找和替换字符
最近一两个月,处理了大量的Excel表格,具体的目标包括筛选出包含特定字符串的行,查找某个值是否在表中存在等。工作中积累了大量使用Excel的经验,想记下来,却一直没有时间。今天促成动笔因素的还是因为帮同事小Z处理了一份Excel文档。想来有趣,每每帮她做事,我都要赶快记下来,看来她是我写Blog的动力源,可惜我就要离开她去别的办公地点了。她的问题是这样的:她维护的一个Excel表格保存全原创 2007-11-07 15:15:00 · 8659 阅读 · 0 评论 -
Excel表格里行和列的数据进行交换(转置)
function toggleDisplay(me){if (me.style.display=="inline"){ me.style.display="none";}else { me.style.display ="inline";}}今天上班的时候,同事小Z在座位上发问,她想把Excel表格里行和列数据的位置交换一下,谁能帮她一下。我就正好用原创 2007-11-02 10:19:00 · 10129 阅读 · 1 评论 -
Excel 中单元格和范围的引用(即访问的表示方法)
计算机中,无非是数据和数据的处理这两件事。Excel的工作表能存储大量数据,除了这些原始数据,我们还要用函数来处理这些数据,比如求和求积,求平均值,排序等等,并把处理结果也存在单元格里。在Excel中,我们通常不给这些数据起个专门的名字,比如StudentName1,StudentName2,Score1,Score2(我在另外一篇文章讲如何给单元格或范围内的数据命名),Excel本身已经隐含了指原创 2007-07-27 14:46:00 · 22894 阅读 · 0 评论 -
Excel 中用公式的值替换公式本身
在 Excel 中,公式或公式的一部分都可以用它得出来的值来替换。当然啦,被替换的部分就不再是公式了,不会再跟着引用值的改变而改变了。 Excel 的帮助文件里讲了两种方法,但是最好用的那招就是F9,会这招就可以通吃了。鉴于上篇日志提交后成果泡汤的前车之鉴,这篇的内容继续保持英文。Replace a formula with its calculated valueCaution Whe原创 2007-07-26 20:12:00 · 6256 阅读 · 0 评论 -
Excel 中在显示公式本身和它的值之间切换
这篇文章的内容来自Excel帮助文件。我本来已经在编辑Blog的时候把它翻译成了中文,谁知道在发表的时候失败了,竹篮打水一场空。我经常在编辑CSDN的Blog时遇到前功尽弃的事情,幸好还没有疯掉。有时候我会从头来过,不过今天这篇英文就英文吧。Switch between displaying formulas and their values on a worksheet Pre原创 2007-07-26 19:33:00 · 2896 阅读 · 0 评论 -
找出两张表中匹配的记录
工作中要维护一张表,这张表根据另一个部门发过来的Excel文件更新。每次发过来的Excel文件跟我当前的表相比,或者多了几条记录,或者少了几条记录。减少的记录我不用删除,因为我的表是个历史记录,新增的记录我要添加到表里面去。从近千条记录里找出新增的项目,靠人工是不现实的,要用SQL语句完成这项工作。 把我维护的表称为A表,Excel文件导入的表称为B表,我的工作包括两个目标,一是根据B表更原创 2007-02-15 02:57:00 · 4227 阅读 · 0 评论 -
找出两张表中不匹配的记录
前面说了找出两张表中匹配的记录,这里接着讲找出两张表中不匹配的记录。还是以前面的A表B表为例。从A表中找出B表没有的记录,与从B表中找出A表没有的记录,结果是不一样。我下面的记载,是使用SQL时不同的尝试,有些得出正确答案,有些没有,但可以分析一下为什么是这样一个答案。以找出"A表中B没有匹配项的记录"为例:1、是Access的"Find Unmatched Query Wizard"生成原创 2007-02-15 11:17:00 · 5173 阅读 · 0 评论 -
Excel 中保护 Worksheet
今天在修改一个从别人那里来的 Excel 文件时,发现鼠标右键点下去后,Insert命令没有了,仔细一看,不仅Insert命令灰掉了,其它许多命令也灰掉了,只有Cut,Copy等命令也可用。文件的只读属性已经被我去掉了,那么问题在哪里呢?根据我老人家在微软的修炼,这种情况先向Tools菜单下去寻,果然被我瞄到Protection这个菜单项,点了Unprotect Sheet,成功,原来这位原主原创 2007-02-12 22:24:00 · 962 阅读 · 0 评论 -
为了导入Access 2003,把 Excel 单元格格式从Number 转成 Text
今天在把一张 Excel 表单导入到Access 2003 中时遇到点问题。Excel 中有一栏是产品型号,前面有近100行的型号是用纯数字表示的,后面的型号才是字母和数字混合编码的。在Access 中用Import 命令导入Excel 表单,报了个错误,说不是所有记录都成功导入。打开错误报告表一看,里面都是“Type Conversion Failure”,并且发生错误的记录行是从字母和数字混合原创 2008-01-29 17:28:00 · 9807 阅读 · 0 评论 -
Access 和 MS SQL 中合并某个字段的值
这个话题在CSDN社区经常见到,但是之前不太留心,这次自己碰到了,就把解决方法做个记录,以备下次参考。 领导前几天发了个表格给我,是零件和机器型号对应表,里面就两列,一列是机器型号,另一列是零件号,这两者当然是多对多的关系啦。他要我做的事中涉及到一环,就是把每个机器型号对应的所有零件号列出来,或者把每个零件号对应的所有机器型号列出来。这两列都是字符类型的,SQL 语句提供了SUM 这样的聚原创 2008-02-01 15:55:00 · 4975 阅读 · 1 评论 -
Excel 2003 中如何用VBA 代码访问单元格里的值及操作单元格
在Excel 中编写VBA 代码,最常做的事可能就是操作表单中单元格里的数据。 我这里总结一下如何从VBA 代码中操作单元格的数据。在VBA 代码中操作单元格需要用到Range 对象,Range 是Excel 库(即Excel.exe文件)提供的一个类,封装了对表单中单元格的所有操作。Range 对象可以是一个单元格,一行单元格,一列单元格,或者四方的连续的单元格范围,甚至是几个单元格范围组合原创 2008-03-14 17:36:00 · 47303 阅读 · 5 评论 -
Access 2003 中ADO Recordset 调用 AddNew 或 Delete 方法时收到错误信息
有网友问到这个问题,他在代码里创建了一个ADODB.Recordset 对象,然后Open,当他想调用AddNew 方法时,程序报错误代码3251“对象或提供者不能执行所需的操作” 。这个问题在微软的支持网站已经有专文说明: You cannot add records or delete records with the ADO AddNew method or with the Delet原创 2008-03-07 17:29:00 · 5432 阅读 · 0 评论 -
Access 的参数查询(Parameter Query) (二)
这篇文章集中讲一下参数查询的使用技巧。1. 在多个字段使用参数我们可以在不止一个字段使用参数来生成参数查询。比如我们有一张订单表,Orders,里面有CustomerID 和 EmployeeID 字段,我们想根据这两个字段做准则来查找某个员工跟某个客户签订的订单。我们就在“设计视图”的CustomerID 字段的Criteria 行输入[Enter Customer ID],在Emplo原创 2008-03-05 11:27:00 · 8762 阅读 · 0 评论 -
Access 查询同一张表中两个或以上字段含有重复项的记录
这篇文章是对我自己另一篇文章的补充。(Access 查询同一张表中某个字段含有重复项的记录)记录的动力总是来自于工作中遇到的问题。上次只要根据某个字段把有重复项的记录列出来,这次条件增多了,要根据两个或两个以上字段来判断,当这些字段的值全部相同时,才认为出现了重复记录。还是以上次的数据为例吧,略有修改。表名 Student原创 2008-02-29 18:03:00 · 24256 阅读 · 3 评论 -
Access 的参数查询(Parameter Query) (一)
Access 的参数查询是个很有用(也很强大)的功能,可以省得我们一次次修改查询的准则。 我们在做查询时,往往会加上一些准则(criteria),缩小查询返回的结果。经常的情况是,我们用来做准则的字段是一样的,只是每次赋予不同的值。比如要查询员工的销售业绩,这次要查“张三”的,我们就到“设计视图”里把 Employee_Name 字段的准则设为“张三”;下次要查“李四”了,又要到“设计视图原创 2008-03-04 13:51:00 · 12693 阅读 · 0 评论 -
Access 的 AutoExec 宏
今天同事发给我一个 Access 文件,打开后直接跳出一个窗体。 我想看看这个窗体的一些属性,没想到刚按了设计视图按钮,文件就自动关掉了。#%$*@!&#^?,挑战我啊!再次打开文件,点击Tools 菜单—> Startup,一般来说,Access 文件打开时就启动的窗体在这里设置,但是这个主这里居然什么都没设,我本来是想来这儿取消窗体打开的。那就看看其它的吧,打开宏列表,看到一个可疑的宏原创 2008-02-28 17:05:00 · 4804 阅读 · 1 评论 -
在 Access 2003 中使用日历控件(Calendar Control)
我们在Access 中设计窗体的时候,经常会遇到需要输入日期的情况,比如订单签订日期,员工雇用日期等等,这时候用一个日历控件来选择时间会比较符合主流界面设计方案,跟用文本框输入比较起来,也容易控制格式保证数据输入的准确性。下面讲一下向窗体添加日历控件的步骤。在设计视图中打开窗体。 点击工具箱中的More Controls 图标,从列表中选择Calendar Control 11.原创 2008-02-22 11:06:00 · 12257 阅读 · 3 评论