摘要: VBA的密码保护很容易破解,因此,在需要保护代码时,一般都用其它编程工具生成COM加载宏,然后再让Excel加载,这样就没有办法查看到原代码了。Excel吧一向主张都是知识分享,所有的文件都没有进行保护(非本站原创的作品,原作者有保护的除外),但做为一项技术与知识点,这里我们通过创建一个COM加载宏的过程来了解怎么创建COM加载宏。 首先说明一下编程的环境。我使用的是VB6.0企业版与Excel2003,在Winxp中测试通过,操作系统一般影响不大,而编程工具还可以选择其它,不过基本过程类似,但代码就不一样了,而Excel版本如果是2007版的话,下面这个例子生成的工具栏会在加载项菜单中出现。 阅读全文
posted @ 2012-04-17 22:50 ibg 阅读(959) 评论(0) 推荐(0) 编辑
摘要: 1、选取一个单元格: Range("A1").select Range("A" & 1).select Cells(1).select Cells(1, 1).select Cells(1, "A").select2、选取连续单元格: Range("a1:b10").select Range("a1", "b10").select Range(Cells(1, 1), Cells(10, 2)).select 3、选取不连续单元格: Range("a1,b2 阅读全文
posted @ 2012-04-17 22:45 ibg 阅读(1286) 评论(0) 推荐(0) 编辑
摘要: 何处转来已无所知......vb是常用的应用软件开发工具之一,由于vb的报表功能有限,而且一但报表格式发生变化,就得相应修改程序,给应用软件的维护工作带来极大的不便。因此有很多程序员现在已经充分利用execl的强大报表功来实现报表功能。但由于vb与excel由于分别属于不同的应用系统,如何把它们有机地结合在一起,是一个值得我们研究的课题。 一、 vb读写excel表: vb本身提自动化功能可以读写excel表,其方法如下:1、在工程中引用microsoft excel类型库: 从"工程"菜单中选择"引用"栏;选择microsoft excel 9.0 o 阅读全文
posted @ 2012-04-17 22:42 ibg 阅读(803) 评论(0) 推荐(0) 编辑
摘要: 第一天作者:风未起时来源:中国站长学院发布时间:2006-3-28 6:02:06发布人:admin在《十天学会ASP》教程中,我粗粗介绍了一下ADO,实际上可以说是点到为止。只说了Connection对象中的Open方法建立到数据源的物理连接,使用 Close 方法将其断开;Recordset 对象中的使用 AddNew、Update 和 Delete 方法所做的更改,在最后分页中提到了Recordset 对象中AbsolutePage和RecordCount属性。在这里我想有必要再较系统说一下ADO的各种对象的方法、属性。毕竟ADO不仅应用在ASP中,VB,VC都可以用到。在这十天中我想主 阅读全文
posted @ 2012-04-17 22:37 ibg 阅读(171) 评论(0) 推荐(0) 编辑
摘要: This blog for-------ali 也许可以解决他的吃饭问题,呵呵=ROUND(RAND()*a+b,c) *a就是为了限制随机数变化的区间; +b是确定随机数起始值; c是小数点后位数。 例如:随机产生(2.8-3.2)范围内的任意数(小数点后保留2位)公式为 =ROUND(RAND()*0.4+2.8,2) ------------------------------------------------------------------- 要产生一个Min到Max之间的随机数,可以使用公式 =Int(Rand()*(Max-Min+1))+Min -------------- 阅读全文
posted @ 2012-04-17 22:35 ibg 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 何处转来已无所知......定制模块行为 (1) Option Explicit '强制对模块内所有变量进行声明 Option Private Module '标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示 Option Compare Text '字符串不区分大小写 Option Base 1 '指定数组的第一个下标为1 (2) On Error Resume Next '忽略错误继续执行VBA代码,避免出现错误消息 (3) On Error GoTo ErrorHandler '当错误发生时跳转到过程中的某个位置 (4) On 阅读全文
posted @ 2012-04-17 22:31 ibg 阅读(600) 评论(0) 推荐(0) 编辑
摘要: 群里有朋友问到一个“高级筛选”的问题:如何筛选出名称列中所有以“A"开头,以“E”到“G”结尾的数据?这让我想到了高级筛选中“以公式结果作为条件”的方法。很久不用已经生疏了,温习了下,结果如下:需要注意的是“条件区域”!B1是一个虚拟字段,B2是一个返回TRUE或FALSE的公式。 阅读全文
posted @ 2012-04-17 22:18 ibg 阅读(441) 评论(0) 推荐(0) 编辑
摘要: 先安装IrfanView在C盘,然后把下面的过程赋给一个宏,自定义在工具栏。Sub CopyAsGraphic() Const Viewer As String = "C:\Program Files\IrfanView\i_view32.exe" Selection.Copy Shell Viewer, 1 Application.SendKeys "^v" End Sub 用鼠标选中要截图的区域,然后运行宏,即可打开IrfanView程序。 阅读全文
posted @ 2012-04-17 22:16 ibg 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 行号可以用=ROW()得到,但是列标的获取就有些麻烦了.=LEFT(ADDRESS(ROW(),COLUMN(),2),FIND("$",ADDRESS(ROW(),COLUMN(),2))-1)可以把ADDRESS(ROW(),COLUMN(),2)定义为一个名称,那样看起来就要清爽些了。========================================================下面这个更简洁!=SUBSTITUTE(ADDRESS(ROW(),COLUMN(),4),ROW(),"")贴出ADDRESS的说明:ADDRESS按照给 阅读全文
posted @ 2012-04-17 22:13 ibg 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 如何获得一行中最大值所在的单元格地址?=ADDRESS(MAX((C8:G8=MAX(C8:G8))*ROW(C8:G8)),MAX((C8:G8=MAX(C8:G8))*COLUMN(C8:G8)),4)单元格地址即行号和列标,如A1。ADDRESS()即是返回单元格地址的函数。此公式通过MAX()函数得到行中最大值的地址。最小值与此类似。可在公式审核中一步步求值,即可看出此公式的计算过程。------------------------------------再引申一下:如何获得一个区域中的最大值所在的单元格地址?比如下图中的A1:E5这个范围内的最大值是C4.=ADDRESS(MAX(( 阅读全文
posted @ 2012-04-17 22:11 ibg 阅读(617) 评论(0) 推荐(0) 编辑
摘要: Sub hi() Dim rng As Range For Each rng In ActiveSheet.UsedRange If IsNumeric(rng.Value) And Left(rng.Text, 1) = "#" Then MsgBox "Column too narrow for " & rng.Address End If Next rngEnd Sub注意rng.text的用法!是单元格的显示内容,而不是单元格实际的值! 阅读全文
posted @ 2012-04-17 22:04 ibg 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 2010-3-14 19:11 昨天和今天也算有所收获吧——知道了数据透视表的计算字段。这真是个神奇的功能! 透视表可以快速汇总,这毋庸置疑。在数据源中一般保存的是纯数据(只是数值,没有公式。),这样在速度上和体积上都很好。数据源中的标题就是透视表的“字段”,当我们要在透视表中想添加数据源中不存在的字段时,就可以用到“计算字段”了。计算字段在哪里呢?如何添加字段?点击”计算字段“后出现如下对话框。名称:要添加到透视表的新的字段公式:既然是“计算字段”,要计算,当然要有公式咯。在这里就可以添加新的字段了!而且最重要的是——可以在“公式”里面写这样的公式!cool!小结:制作表格前一定要了解清.. 阅读全文
posted @ 2012-04-17 22:02 ibg 阅读(671) 评论(0) 推荐(0) 编辑
摘要: 2010-6-15 18:51 这2天学习了VBA的封装,不算完美,但已基本实现预期。人生是否也像这样,努力追逐自己的完满,但涉及到他人时却百啭千回? 在本机测试了N次,没有问题;发给几个朋友测试,却是问题多多。不是提示这里错误,就是提示那里错误。最好的情况就是————手工添加对dll的引用,然后程序方可顺利运行。自动添加引用————这也是百思不得其解的地方。google、百度,中外资料这么一搜,发现不外乎是以下我要说到的这些,但这些在我本机是没有问题的,按图索骥,一试就灵。换个机器,依然有问题。先有必要声明2个概念:注册、引用DLL注册是指将DLL的相关信息,如:DLL唯一识标号(G... 阅读全文
posted @ 2012-04-17 21:59 ibg 阅读(1751) 评论(0) 推荐(0) 编辑
摘要: 实在抱歉!不知道文章出处了。一起学习吧!也许你已经在Excel中完成过上百张财务报表,也许你已利用Excel函数实现过上千次的复杂运算,也许你认为Excel也不过如此,甚至了无新意。但 我们平日里无数次重复的得心应手的使用方法只不过是Excel全部技巧的百分之一。本专题从Excel中的一些鲜为人知的技巧入手,领略一下关于 Excel的别样风情。 一、让不同类型数据用不同颜色显示 在工资表中,如果想让大于等于2000元的工资总额以“红色”显示,大于等于1500元的工资总额以“蓝色”显示,低于1000元的工资总额以“棕色”显示,其它以“黑色”显示,我们可以这样设置。 1.打开“工资表”... 阅读全文
posted @ 2012-04-17 21:47 ibg 阅读(282) 评论(0) 推荐(0) 编辑