Excel
ChristopherChen
这个作者很懒,什么都没留下…
展开
-
Excel VBA VBA去重复的几种方法
VBA去重复典型有两种方法:① 整数数值型数据,可以直接使用数组下标去重复② 通用方法:字典去重复Sub RecSortTest() arr = Array(5, 4, 2, 1, 5, 8, 7, 2, 7, 9, 3, 6, "22", "23", "221", 22, 23, 221, "a", "z", "c") '测试数组' arr = WorksheetFunct转载 2016-11-29 07:49:00 · 25908 阅读 · 1 评论 -
VBA 判断元素是否在数组中
Sub macro1()Dim arr, i%arr = Array(1, 2, 3, 4, 5, 6)On Error Resume Nexti = WorksheetFunction.Match(9, arr, 0)If i > 0 Then MsgBox "存在" Else MsgBox "不存在"End Sub原创 2016-11-27 22:08:47 · 36715 阅读 · 3 评论 -
Excel VBA 基础语法
3.8.2 比较运算符Is 比较两个对象的引用变量|| 对象1 Is 对象2 || 当对象1和对象2引用相同的对象时返回True,否则返回FalseLike 比较两个字符串是否匹配 || 字符串1 Like 字符串2 || 当字符串1与字符串2匹配时返回True,否则返回FalseRange("A1") >= 500Range("B2") Like "陈*""*"是通配符,代替任意原创 2016-11-26 00:36:05 · 16947 阅读 · 0 评论 -
Excel VBA 连接数据库
Public Sub VBA_DB_Test()Dim strConn As String, strSQL As String, conn As Object, rs As Object, col As Integer Set conn = CreateObject("ADODB.Connection") Set ds = CreateObject("ADODB.RecordSet")原创 2016-11-25 17:50:12 · 907 阅读 · 0 评论 -
Excel VBA对象2
4.3.1 Workbook对象是Workbooks集合中的一个成员2. 怎样引用集合中的某个工作簿法一:使用索引号引用工作簿要引用Workbooks集合中的第3个Workbook,可以将代码写为:Workbooks.Item(3)使用时可以省略属性名称Item,将代码写为:Workbooks(3)法二:利用工作簿名引用工作簿Workbooks("Book1")Workbook原创 2016-11-27 23:57:04 · 3052 阅读 · 0 评论 -
Excel VBA对象
'4.6.1 根据需求创建工作薄Sub WbAdd() '程序创建""工作薄,保存到本文件所在的目录中 Dim Wb As Workbook, sht As Worksheet '新建一个工作薄,并将其赋给变量Wb Set Wb = Workbooks.Add Set sht = Wb.Worksheets(1) With sht原创 2016-11-24 13:06:53 · 1402 阅读 · 0 评论 -
Excel VBA
Dim sht As Worksheet '声明一个工作表类型的变量Dim IntCount As Integer '声明一个Integer变量IntCountDim sht As Worksheet, IntCount As IntegerDim Str As String 等价于 Dim Str$强制声明变量Option Explicit声明本地变量原创 2016-11-22 22:26:23 · 726 阅读 · 0 评论 -
EXCEL VBA 正则表达式 MatchCollection对象
1.正则表达式(Regular Expression)基础 正则表达式是通用的文本搜索和处理方案,它的知识不是VBA独有的,基本上每种语言都内置了正则表达式的功能。正则表达式的基础知识不是这里的重点,需要的朋友可以Google一下,或者参看下面的一些入门教程:http://deerchao.net/tutorials/regex/regex.htmhttp://www.regexlab.c转载 2016-12-03 23:07:55 · 8486 阅读 · 1 评论 -
Excel VBA 字典/数组 示例
A 将数组作为字典的ValuePrivate Sub CommandButton3_Click()Dim arr, arr1, i&, d As Objectarr = Sheets(3).[a1].CurrentRegionarr1 = [a1].CurrentRegionSet d = CreateObject("scripting.dictionary")For i = 2 T转载 2016-12-01 13:25:41 · 10816 阅读 · 4 评论 -
Excel VBA 校验日期 范围2000-2099年 格式MM/DD/YYYY
Function CI(c) 'Cells.Address.Information If IsNumeric(c) Then On Error GoTo NumErr CI = Replace(Cells(, c).Address(0, 0), 1, "") Else On Error GoTo TxtErr CI =原创 2016-11-30 13:33:20 · 3208 阅读 · 0 评论 -
正则表达式校验日期
正则表达式验证2000-2099年的日期格式MM\DD\YYYY((((0[13578]|1[02])\/(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)\/(0[1-9]|[12][0-9]|30))|(02\/(0[1-9]|[1][0-9]|2[0-8])))\/(20[0-9]{2}))|(02\/29\/(20(0[48]|[2468][048]|[1357转载 2016-11-29 18:26:15 · 4597 阅读 · 0 评论 -
VBScript基础:RegExp对象
RegExp对象提供简单的正则表达式支持功能。 RegExp对象的用法:Function RegExpTest(patrn, strng)Dim regEx, Match, Matches ' 建立变量。Set regEx = New RegExp ' 建立正则表达式。regEx.Pattern = patrn ' 设置模式。regEx.IgnoreCase = True ' 设置转载 2016-11-29 13:20:06 · 2383 阅读 · 0 评论 -
Excel VBA 列名列标转换函数
Function CI(c) 'Cells.Address.Information If IsNumeric(c) Then On Error GoTo NumErr CI = Replace(Cells(, c).Address(0, 0), 1, "") Else On Error GoTo TxtErr CI =转载 2016-11-29 13:12:40 · 2619 阅读 · 0 评论 -
Excel VBA求某列最后一行非空行号
求出A列最后1行:Cells(Rows.Count, 1).End(3).Row"Cells(Rows.Count, 1)"表示是查找A列最后一个非空单元格,按列的可以改成"Cells(1, Columns.count)""end(3)"表示的向上查找,也可以写成“end(xlup)”,还有其他3个方向,向下,向左,向右:xldown,xltoleft,xltoright原创 2016-11-28 00:06:50 · 36721 阅读 · 0 评论 -
Excel VBA On Error Resume Next错误处理
原始代码Sub test()Dim arr() As String '定义动态数组Dim n As LongDim c As IntegerDim i As IntegerDim q As IntegerDim pvc As VariantSheets("Sheet1").Selectn = Applicatio原创 2016-11-29 08:04:14 · 10031 阅读 · 0 评论 -
Excel VBA将某列数值存入一个数组
Sub test()Dim arr() As String '定义动态数组Dim n As LongDim i As Integern = Application.WorksheetFunction.CountA(Range("A:A")) '确定A列非空数据数量ReDim arr(1 To n) As String原创 2016-11-27 23:54:58 · 29782 阅读 · 0 评论