![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
excel
donkey2004112103
这个作者很懒,什么都没留下…
展开
-
遍历文件目录和列出空文件夹
首先用VBA写出程序遍历目录: FileSystemObject必须在"工程、引用"中选中Microsoft Scripting Runtime Public fso As New FileSystemObject Public nextrow As Integer Function IsFolderEmpty(myFol原创 2008-09-17 10:31:00 · 1864 阅读 · 0 评论 -
excel列显示列号
excel里的行显示的行号,但是列显示的是英文字母,有时候要看列号就不方便了。下面这段程序可以让字母显示成数字 Sub Macro1() Application.ReferenceStyle = xlR1C1 End Sub 将ReferenceStyle改为xlA1变回原来的字母,非常强大。原创 2008-12-22 16:13:00 · 5132 阅读 · 1 评论 -
vba开发动态报表心得
这个项目上vba程序写了不少,不过也悟出了一些心得,对以后任何一门语言开发都有帮助。下面是我思考的一些开发体会。 1.溢出错误 之前写程序跑报表最常见的一个错误,就是因为行结束的标记是结果或者总计结果,然后我一行行的判断是否已经找到,当query插入的位置变化了,或者没有这个技术标记就出现溢出错误(我用integer来记录行号,最大值是32767)。这两天思考了下,其实可以不用这么做,现在我觉原创 2009-02-26 16:51:00 · 1202 阅读 · 0 评论 -
求列和
之前动态报表列求和是在excel自己输入公式在隐藏单元格实现,昨天发现了有更好的实现方法。代码如下: Dim rng As Range With Cells(6, 3) Set rng = Range(.Offset(1), .Offset(1).End(xlDown)) .Formula = "=SUM(" & rng.Addres原创 2008-12-12 09:59:00 · 794 阅读 · 0 评论 -
vba查找sheete
之前的报表全部放在一个excel文件里,所以查找sheet非常麻烦.那我就自己写了个小程序方便查找,不过没有模糊查找的功能,以后可以完善下.代码如下: Sub findName() Dim sheetFind As Worksheet Dim name As String name = InputBox("输入要查找的sheet名", vbOKCancel)原创 2008-12-10 11:17:00 · 961 阅读 · 0 评论 -
对某区间的cell进行操作
刚看《excel 2007 vba programmer reference》对一个区间cell进行操作的代码进行了4个进化,不错。 第一个版本: 第二个修改的版本,相比较第一个版本可读性更高,用了对象。 第三个修改的版本,作者说这个版本效率会有一些提升,估计是因为少解析了一个cells类。 第四个版本,没有了行和列的变量,更简洁。 第五个版本,又少了一个变量。使原创 2008-12-08 21:05:00 · 726 阅读 · 0 评论 -
动态行插入没有固定标题
今天写的代码我感觉比较优雅,虽然用的是不熟悉的语言VBA。解决问题用了table lookup,对于没有固定标题的情况下我又新增了一个变量来得到不确定的行数。代码如下: Option Explicit Public insertAllNum As Long query里插入的所有的行数 Public dynNum As Integer 动态插入原创 2008-12-05 15:04:00 · 662 阅读 · 0 评论 -
Private Sub Worksheet_Change事件碰到的问题
之前动态表格的更新问题我都是加了一个按钮来触发更新的事件,简洁却不美观。老大跟我说一定要解决,感谢崔兄之前告诉了active事件。后来查阅资料我又发现了有change事件!这个似乎更好用,通过更崔兄讨论确定了用会计年度,会计期间,公司代码这三个变量作为更新查询的条件。 在写代码中我又发现了两个问题,第一个问题是query里有7个查询,你怎么知道那一个query最后更新。这个问题还是很好解决的,我原创 2008-12-07 11:03:00 · 6081 阅读 · 0 评论 -
BW的sapbex插件研究(一)
目前在中文网站上还没有发现研究bw的sapbex加载项的,本人应该算比较超前了。因为搞vb的不搞sap,搞bw的懂编程的又少,懂编程又不见得懂vba,呵呵,看来我还是蛮厉害。版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出版、作者信息和本声明。否则将追究法律责任。本文地址: http://blog.csdn.net/donkey2004112103/archive/2009原创 2009-01-22 16:15:00 · 2392 阅读 · 0 评论 -
vba的change事件
现在对vba中的change事件有了比较清晰的认识,也明白了quer插在excel里是怎样的一个状态。为了让报表可以打开时自动运行动态报表,必须用到change事件,如果谁有更好的方法请一定通知我。之前认为会计年度,记账期间,还有公司代码只要有一个改变就会触发change事件。后来才发现其实即使不变也会触发change事件,为什么了,原来query再刷新时所有数据都会变化,所以根本不用用三个单元格原创 2009-01-21 18:20:00 · 9714 阅读 · 0 评论 -
动态求和
用查询设计器做的手工报表有时候行数是动态,对与行数不确定的情况需要用VBA来写程序实现,写代码还是我的最爱,不管是什么语言。刚刚写完我封装好的代码,觉得实在是牛b。秀下Option Explicit p_queryRows:query起始行位置 p_queryCol: query起始列位置 p_conRows:workbook起始行位置 p_conCol:workbook起始列位置原创 2008-11-26 08:59:00 · 760 阅读 · 0 评论 -
excel不显示标签
如图即可隐藏标签,让用户看不到查询。原创 2008-11-23 14:51:00 · 1229 阅读 · 0 评论 -
excel目录制作
如果一个excel的workbook有多个sheet,那么制作一个目录,并且在每一个sheet上面都制作一个返回目录的超链接就非常方便,制作目录可以用罗兄的百宝箱,下面的代码是制作返回目录的超链接。Option Explicit Sub 返回目录(p_worksheet As Worksheet) 返回目录 Macro p_worksheet.Act原创 2009-01-12 21:12:00 · 5991 阅读 · 1 评论 -
VBA解决繁琐的比较问题
今天老大又给我了一个体力活,不过比query接触的更底层了一点,将数据源的信息对象和原系统信息对象进行匹配,有一个已经做好了原系统是800的传输规则。当我匹配完了之后一个很大的问题就是如何验证,肉眼去验证很容易出错如果数据量很大的话更是如此。你我用两个步骤解决了,第一步将传输规则的数据拷贝出来,sap好像只能一屏一屏的拷贝,暂时没有发现更好的方法。第二个步骤用VBA写一个程序将数据进行比较。exc原创 2008-11-21 11:39:00 · 752 阅读 · 0 评论 -
excel拷贝相对应的sheet
拷贝对应的sheet之前做的是一次拷贝一张sheet,显然太低级,这次做了一个升级,一次可以拷贝n张sheet,并且根据名字自动匹配,将拷贝的报表名字显示在相应的单元格里。不过之前测试的选择性粘贴只拷贝数值而不拷贝链接并没有成功。Option Explicit 作者: 黄立 邮箱: ekinasm@ gmail.com 一次拷贝多张报表,自动匹配sheet名字 Const c_n原创 2009-01-12 21:06:00 · 1155 阅读 · 0 评论 -
excel不显示提示对话框
excel的application对象十分强大,提供了很多方法,比如想要删除sheet时提示对话框,可以用下面的方法 第一 Application.SendKeys ("{ENTER}") ActiveSheet.Delete 第二 Application.DisplayAlerts = False ActiveSheet.Delete Application.原创 2008-12-29 17:16:00 · 2404 阅读 · 0 评论 -
excel小技巧
1.自定义序列 排序的时候有时候需要自定义序列如对职务的排序可以用自定义序列的方法,或者再增加一列用数字标识对数字标识排序。在excel2007里自定义序列的位置不好找,在下面的位置,常用的编辑自定义列表里。 2.分类汇总 分类汇总帮我们更加方便的透过数据看到我们想要的信息,有两点需要注意。一是如果需要建立多级分类汇总的话,要依次建立,优先级高的先建立。建立后面的分类汇总时替换原创 2008-12-26 14:45:00 · 983 阅读 · 0 评论