Resize(UBound(arr, 1), UBound(arr, 2) 这句什么意思   resize()是一个扩展单元格地址区域的函数,有两个参数,第一个是行扩展数,第二个是列扩展数   UBound(arr, 1) :arr数组中最大行数: UBound(arr, 2) :arr数组中最大列数.   这里是把数组的最大行数充当了 RESIZE的行扩展,最大列数 充当了resize的列扩展数.     arr = Range(("a2:b") & Range("…
Workbooks对象是Microsoft Excel 应用程序中当前打开的所有 Workbook 对象的集合.有close.add.open等方法.   Workbooks.close              '  关闭所有打开的工作簿. Workbooks.Add               '  创建一个新工作簿. ActiveWorkbook            '返回当前处于活动状态的工作簿. Workbooks.open Filename:="TEST.XLSX", R…
用VBA拆分工作表是一个不错的方法,特别是在处理大量数据的时候,能节省不少时间.   1.高级筛选: 筛选并复制到新工作表的关键代码如下: Range("Database").AdvancedFilter _     Action:=xlFilterCopy, _    CriteriaRange:=Range("Criteria"), _    CopyToRange:=Range("Paste"), _     Unique:=False 该…
原文地址:https://www.cnblogs.com/heekui/archive/2008/03/30/1129355.html 近日的一系列工作是做网站的营运维护,因此做了大量的支持工具.有Excel中写VBA的,也有直接C#做的工具.有时需要在C#中执行Excel VBA宏,甚至有时还需要在执行了VBA宏之后,获取返回值再进行相应的处理.为了使用方便,我写了一个执行Excel VBA宏的帮助类 .放在博客里做个备份也希望对有类似需求的朋友有所帮助. 帮助类仅提供了一个方法:RunExc…
出处:http://www.360doc.com/content/21/1113/17/77710807_1004011085.shtml 前面我们讲的大多是**并操作单个的单元格,或者是连续的单元格区域,如果这些单元格区域不连续,如下图所示,单元格区域A1:B2.A4:B5.A7:B8分别隔开,各自独立,此时,有没有什么办法在VBA中一次获取这些区域(不能包含区域之间的空行)并对其进行相应的操作呢? VBA提供了一个Areas集合对象,用来解决这方面的情形. 如上图,在Excel中按Ctrl键…
在Excel VBA中range.offset和range.resize均可以重新选择区域,但range.offset表示偏移且偏移后尺寸不改变,range.resize则会根据输入的行数和列数重新定义区域.   一.range.offset(偏移行,偏移列) 偏移行和列若为正则向下和向右偏移,若为负数则表示向上和向左偏移,若为零则表示不偏移.   示例如下:range.offset(1,1)表示向下和向右移动一个单元格.   二.range.resize(行数,列数),返回调整后的区域大小 不…
前两天,一个朋友问我,有没有办法在excel里实现一个表单里是原始数据,在另一个表单里显示搜索到的行,搜索关键词可用~分隔开,并把搜索历史记录下来? 我想了想,用vba实现肯定可以啊,但是我又在想,有没有可能excel自身的功能就可以实现了呢,但是后来没有发现excel自带这种功能.于是思考自己用vba给实现吧. 于是我打开我的电脑,结果发现我的office版本是wps,根本就没有vba功能,网上说的使用vba模块安装,但是始终没有安装成功.最后放弃了,自己下载一个office2013, 自带v…
Excel VBA数组入门教程 1. 前言:不要把VBA数组想的太神秘,它其实就是一组数字而已. 2. 数组的维数: Sub 数组示例()  Dim x As Long, y As Long  Dim arr(1 To 10, 1 To 3)  '创建一个可以容下10行3列的数组空间  For x = 1 To 4    For y = 1 To 3       arr(x, y) = Cells(x, y)  '通过循环把单元格区域a1:c4的数据装进数组中    Next y  Next x…
Sub XXX() Dim arr() arr = Application.GetOpenFilename("所有支付文件 (*.xls;*.xlsx;*.csv),*.xls;*.xlsx;*.csv,Excel 文件 (*.xls),*.xls,Excel2007 文件 (*.xlsx),*.xlsx,CSV 文件 (*.csv),*.csv", , "选择文件", , True) For i = LBound(arr) To UBound(arr) Cells…
VBE有丰富的调试工具, 比如立即窗口, 本地窗口, 监视窗口, 断点调试... 第一个博文中已经讲过调试的基本操作: 设置断点, F5运行, F8逐条运行 断点就是程序中暂停停止运行的位置, 设置断点之后, 当运行到断点行所在的语句程序就进入中断模式, 此时在本地窗口和立即窗口中 可以查看变量以及对象的属性值. 1. debug 介绍: 调试工具的基石 debug.print x   在不中断程序的情况下输出x 的值 debug.assert 与if 类似, 用与判断一个条件是否成立, 但是i…