摘要: 按说Excel函数应该只在工作表中应用,好像VBA不可以用的,但实际上许多Excel函数具有很高的效率,如果能把两者结合起来的话,肯定是事半功倍!但说实在话,开始时我总是想着如何从VBA的角度来解决问题,当初Excel函数这块掌握不较少,导致现在一想才发现自己真的很浅薄!不过回过头来想,如果可以掌握如何在VBA程序中调用Excel函数的话,那事情不是更好吗!!!所以今天要解决的问题是:如何在VBA程序中调用Excel函数?终极目标就是把Excel工作表中的的所有函数都放到VBA中进行调用,完全掌握它们的种种用法.Sub 调用clean函数() '如何调用clean(text)函数 用途 阅读全文
posted @ 2010-03-08 12:12 surfacetension 阅读(1768) 评论(0) 推荐(0) 编辑
摘要: 问题来源:在编写002-004的过程中,突然想到现在学生已经开始分文理科了,导致班号并不是连着的,很多时候需要分别处理文、理科的数据,如果能事先把文科或理科的班号先提出来,然后根据班号来对应不同的程序,是不是效率会更高些?所以本次只解决一个问题:如何按列提取不重复值.但是现在寻找了好几种方法,不是看不懂(^_^),就是感觉太麻烦,其实主要是看不懂啊.现在想了一个笨办法,就是先把数据复制到一个新表中,然后把所有重复的行删掉,这样就可以只剩下所有不重复值了.接着就可以把这些不重复值引入到数组或列表中,按数值有针对性对原表(复制源)进行操作,比如提取指定班级的学生信息,打印指定班级的学生信息等等.先 阅读全文
posted @ 2010-03-07 12:13 surfacetension 阅读(1225) 评论(0) 推荐(0) 编辑
摘要: Sub 取消合并单元格并保留内容() Dim strmer As String '用于存储需要取消合并单元格的内容 Dim intcot As Integer '用于存储被合并单元格的个数 Dim i As Integer, j As Integer '用于循环计数 Dim totalR As Integer, totalC As Integer '用于统计行数 Dim myrange As Range Worksheets(1).Activate totalR = Range("B65536").End(xlUp).Row totalC = 阅读全文
posted @ 2010-03-07 12:11 surfacetension 阅读(4021) 评论(1) 推荐(0) 编辑
摘要: 3月6日发表的同题的文章,现在想想其实只能算是小儿科,因为那个程序一方面太繁琐,另一方面还有着更致命的问题:如果遇到查不到的项目,那么很容易就会引起错误,从而得到错误的结果.现在可以借助字典功能来实现更科学的查询,更严谨的结果.分析如下:表一为"一中二中信息总表.xls"示意图:此表存储着所有学生的班级/姓名/学籍号.此为需要查询的目的表.表二是需要填入班级号(行政班)的"第6学段模块学习成绩表.xls"的样表:此表为需要填入班级号,假设其中已填写的班级号为教学班班级号,现在需要按注册学籍号从表一中提取对应原班级号,并填入表二中相应位置.以前都是利用查找 阅读全文
posted @ 2010-03-06 14:57 surfacetension 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 现在想解决的问题是:①如何把不同工作簿中相同格式的工作表合并到新工作簿中?②如何把同一工作簿中相同格式的工作表合并到同一工作表?先来解决第1个问题:如何把不同工作簿中相同格式的工作表合并到新工作簿中Sub 如何合并工作簿至同一工作簿中() '首先遍历指定文件夹下的所有xls文件 Application.DisplayAlerts = False Application.ScreenUpdating = False Dim i, k, totalR1, totalC1, totalR2, totalC2 As Integer Dim sr As FileSearch '定义一个文 阅读全文
posted @ 2010-03-06 12:12 surfacetension 阅读(2352) 评论(0) 推荐(0) 编辑
摘要: 问题提示:本次主要是想解决如何在工作表内部、工作表间、工作簿间进行单元格数据的复制、剪切、粘贴等操作,在工作中,经常需要进行数据的复制与粘贴,尤其是在工作表内进行操作,而且很多时候都是按班内名次排好序后,然后自动筛选出各个班的名单另存为新的工作簿,以便于分发至各班主任手中,以前主要是通过手工操作,或者是通过数据库技术,反正感觉不是很舒服。现在主要是想解决这个问题!!这样的话就有以下几个问题需要解决:①如何排序?②如何筛选?③如何提取数据至新表(第1种还在原工作簿内;第2种存储至新工作簿内),并保留原格式不变?④在③的基础上,如果再能解决自定义筛选的话比如提取各班前40名学生名单,或者学籍号不为 阅读全文
posted @ 2010-03-05 12:12 surfacetension 阅读(742) 评论(0) 推荐(0) 编辑
摘要: Sub 如何进行自动筛选() Range("A1").AutoFilter Field:=1, Criteria1:="2" '按第1列(字段),条件为第2列中等于2的进行筛选. ActiveCell.AutoFilter '取消自动筛选,即后面不加任何条件,则为取消自动筛选.End SubSub 如何进行自定义筛选() Range("A1").AutoFilter field:=2, Criteria1:=">=10",Operator:=xlAnd, Criteria2:="&l 阅读全文
posted @ 2010-03-04 18:00 surfacetension 阅读(744) 评论(0) 推荐(0) 编辑
摘要: 问题提示:本次主要是想解决如何在工作表内部、工作表间、工作簿间进行单元格数据的复制、剪切、粘贴等操作,在工作中,经常需要进行数据的复制与粘贴,尤其是在工作表内进行操作,而且很多时候都是按班内名次排好序后,然后自动筛选出各个班的名单另存为新的工作簿,以便于分发至各班主任手中,以前主要是通过手工操作,或者是通过数据库技术,反正感觉不是很舒服。现在主要是想解决这个问题!!这样的话就有以下几个问题需要解决:①如何排序?②如何筛选?③如何提取数据至新表(第1种还在原工作簿内;第2种存储至新工作簿内),并保留原格式不变?④在③的基础上,如果再能解决自定义筛选的话比如提取各班前40名学生名单,或者学籍号不为 阅读全文
posted @ 2010-03-04 11:31 surfacetension 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 问题提出的背景:在Excel中关于单元格的操作可以说是随处可见,掌握住对Excel单元格的操作方法是非常有必要的。常见的操作要求有:①选定指定单元格到底有几种方法?哪种最适用?②如何插入指定数目的行或列?③如何用cells指定range中的区域?④单元格间的相互复制与粘贴如何操作?⑤工作表间如何复制数据?工作簿间如何复制数据?⑥如何实现按名次排序(两种排法:一是中式排名,二是西式排名)?暂时先想到这些,若有再随时补充。先解决关于单元格的选定及统计行列和单元个数问题提取链接http://d.namipan.com/sd/1407550源程序如下:Sub 单元格的常见操作() '利用ran 阅读全文
posted @ 2010-03-03 11:20 surfacetension 阅读(606) 评论(0) 推荐(0) 编辑
摘要: Sub 遍历指定文件夹下的所有文件名() Dim sr As FileSearch '定义一个文件搜索对象 Set sr = Application.FileSearch sr.LookIn = "E:2009-2010学年历次考试2009年11月份考试-学校统考补考名单" '注意路径,换成你实际的路径 sr.Filename = "*.*" '搜索所有文件 sr.Execute '执行搜索 Cells.Delete '表格清空 For i = 1 To sr.FoundFiles.Count Cells(i, 1 阅读全文
posted @ 2010-03-03 09:13 surfacetension 阅读(519) 评论(0) 推荐(0) 编辑