摘要: 很明显的要求待合并工作簿中的数据格式统一,并且放置在第1个工作表中(是不是要求太高?!)以前也写过一个代码,但代码运行时间太长,40个班的数据大约需要5分钟的时间,而这段代码大约只需要10秒钟的时间.Option ExplicitSub 合并不同工作簿中的数据至同一工作簿中() '利用工作簿对象及数组来实现 '不知道利用单元格对象能否实现. '清除掉目标工作表的数据,只保留标题行 Worksheets("成绩").Activate Range("2:65536").Clear '借助工作簿对象实现合并 Dim fileNa 阅读全文
posted @ 2013-11-28 20:32 surfacetension 阅读(683) 评论(0) 推荐(0) 编辑
摘要: 速度奇快!!感觉好爽!!!再一次体会到了对象的魅力.Sub 合并工作表中数据至同一工作簿中() '清除掉除标题行外的所有数据 Worksheets("成绩").Activate Range("2:65536").Clear '又学会了一种表示落围的方法 '借助工作表对象进行合并 Dim Wb As Worksheet, myRng As Range For Each Wb In Worksheets With Wb If .Name "成绩" And .Name "成绩备份" Then .. 阅读全文
posted @ 2013-11-28 19:55 surfacetension 阅读(395) 评论(0) 推荐(1) 编辑
摘要: 改进说明:以前的时候太依赖于for循环,造成必对班号有特别要求,如果原始数据表不是连续的,还要先进行手动调整,一直感觉很别扭,虽然知道可以通过逐个单元格进行判断,但那样的话就对程序运行的过程无法做到掌控,所以一直处于抵触状态.今天通过看VBA的程序设计一书,完美的解决了这个问题,而且对循环的另两种表达形式:for each 和do while语句有了全新的认识,更重要的是对VBA中的对象概念有了初步的认识,第一次认识到VBA中的对象完全可以解决以前全过程性的程序设计.今天这个程序是对按班号提取工作表进行改进,而且专门对班号的排列进行了混编,保证班号无序/班号不连续,这样就可以基本保证无法用fo 阅读全文
posted @ 2013-11-28 10:07 surfacetension 阅读(469) 评论(0) 推荐(0) 编辑