vba 订阅
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展Windows的应用程序功能,特别是Microsoft Office软件。它也可说是一种应用程式视觉化的 Basic 脚本。1993年由微软公司开发的应用程序共享一种通用的自动化语言--------即Visual Basic for Application(VBA),实际上VBA是寄生于VB应用程序的版本。1994年发行的Excel 5.0版本中,即具备了VBA的宏功能。 展开全文
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展Windows的应用程序功能,特别是Microsoft Office软件。它也可说是一种应用程式视觉化的 Basic 脚本。1993年由微软公司开发的应用程序共享一种通用的自动化语言--------即Visual Basic for Application(VBA),实际上VBA是寄生于VB应用程序的版本。1994年发行的Excel 5.0版本中,即具备了VBA的宏功能。
信息
启发语言
Visual Basic,QuickBASIC
外文名
Visual Basic for Applications
操作系统
Microsoft Visual,Mac OSX
简    称
VBA
发行时间
1993年
释    义
Visual Basic的一种宏语言
语言属性
应用程序一种通用的自动化语言
中文名
Visual Basic宏语言
功    能
扩展Windows的应用程式功能
具备功能时间
1994
VBA概述
Visual Basic for Applications(简称VBA)是新一代标准宏语言,是基于Visual Basic for Windows 发展而来的。它与传统的宏语言不同,传统的宏语言不具有高级语言的特征,没有面向对象的程序设计概念和方法。而VBA 提供了面向对象的程序设计方法,提供了相当完整的程序设计语言。VBA 易于学习掌握,可以使用宏记录器记录用户的各种操作并将其转换为VBA 程序代码。这样用户可以容易地将日常工作转换为VBA 程序代码,使工作自动化。 [1]  VBA是基于 Visual basic发展而来的,与VB具有相似的语言结构。从语言结构上讲,VBA是VB的一个子集,它们的语法结构是一样的。两者的开发环境也几乎相同。但是,VB是独立的开发工具,它不需要依附于任何其他应用程序,它有自己完全独立的工作环境和编译、链接系统。VBA却没有自己独立的工作环境,它必须依附于某一个主应用程序,VBA专门用于Office的各应用程序中,如Word、 Excel、 Access等。在 Access中,可以通过VBA编写模块来满足特定的需要。 [1]  正是由于VBA与主应用程序的这种关系,使得它与主程序之间的通信变得简单而高效。它与 AutoCAD完全共享内存空间,所以执行速度比用C语言开发的ADS应用程序要快很多。 [2]  VBA提供了面向对象的程序设计方法,提供了相当完整的程序设计语言。它的编写是以子过程和函数为单位,在 Access中以模块形式出现。 [1]  Office取得巨大成功的一个重要原因就是VBA,使用VBA可以完成很多事情,基于Excel、Word的VBA小程序不计其数。Office中的应用程序可以共享VBA语言,如果掌握了在 Excel 2016中使用VBA的方法,那么在Word、Power Point中使用VBA自然会变得易如反掌。掌握对VBA语言的使用,可以让复杂的工作简易化,减少不必要的重复性工作,大大提高我们的工作效率。 [3]  VBA程序员很多是业余程序员,正因为业余,解决的却是工作中需要解决的问题;所以,VBA程序大多都是只是在部门内部或个人使用的小工具。集成了VBA的其他应用程序也很多,但真正能为程序增色的不多。 [1]  大多数人看到了VBA可以自动化一个程序,可以扩展已有程序,但没有看到在Office中,VBA代码可以是录制的,而不是写出来的,带来的好处是,学习曲线变得非常缓。如果没有宏录制功能,要熟悉某个Office组件的对象模型,绝非一日之功。 [1]  以ArcGIS为例,ArcGIS扩展必须使用ArcObject,不管是使用VBA也罢,VB也罢,还是C++也罢。但同时,ArcObject的学习不是一天两天可以搞定,对于业余程序员,要使用VBA来扩展ArcGIS,几乎没有可能;专业程序员又不屑使用VBA;而对于公司,如果要基于ArcObject来扩展ArcGIS,选择VBA意味着源码的保护很困难。所以,ArcGIS的VBA就如同鸡肋。 [1]  VBA 是基于Visual Basic 发展而来的,它们具有相似的语言结构。Visual Basic 是Microsoft 的主要图形界面开发工具,VBA 5.0 (亦即VBA 97)则是Visual Basic 5.0 的子集。Visual Basic 是由Basic 发展而来的第四代语言。Visual Basic 作为一套独立的 Windows 系统开发工具,可用于开发Windows 环境下的各类应用程序,是一种可视化的、面向对象的、采用事件驱动方式的结构化高级程序设计语言。它具有高效率、简单易学及功能强大的特点。VB 的程序语言简单、便捷,利用其事件驱动的编程机制,新颖易用的可视化设计工具,并使用Windows应用程序接口(API)函数,采用动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)以及开放式数据库访问(ODBC)等技术,可以高效、快速地编制出 Windows 环境下功能强大、图形界面丰富的应用软件系统。 [1]  Visual Basic 程序很大一部分以可视(Visual)形式实现,这意味着在设计阶段就可以看到程序运行的屏幕画面,用户可以在设计时能够方便地改动画面图像、大小、颜色等,直到满意为止。VB 的用户可以是缺乏Windows 及C 语言开发经验的专业软件人员,也可以是具有一定Windows开发经验的专业人员,VB 的可视化编程方法使得原来繁琐枯燥、令人生畏的Windows 应用程序设计变得轻松自如、妙趣横生。以往的Windows 应用程序开发工具在设计图形用户界面时,都是采用编程的方法,并伴随大量的计算任务,一个大型应用程序约有90%的程序代码用来处理用户界面,而且在程序设计过程中不能看到界面显示的效果,只有在程序执行时才能观察到,如果界面效果不佳,还需要回到程序中去修改。Visual Basic 提供了新颖的可视化设计工具,巧妙地将Windows界面设计的复杂性封装起来,程序开发人员不必再为界面设计而编写大量程序代码,仅需采用现有工具按设计者要求的布局,在屏幕上画出所需界面,并为各图形对象设置属性即可,VB 自动产生界面设计代码,这样便将事先编制好的控件可视地连接到一起,构成一个随时可调整的界面。 [1]  VBA 不但继承了VB 的开发机制,而且VBA 还具有与VB 相似的语言结构,它们的集成开发环境IDE(Intergrated Development Environment)也几乎相同。但是,经过优化,VBA 专门用于Office 的各应用程序。VB 可运行直接来自Windows 95 或NT 桌面上的应用程序,而VBA 的项目(Project)仅由使用VBA 的Excel、Word、 PowerPoint 等称为宿主(Host)的Office 应用程序(Application)来调用。 [1]  1. VB是设计用于创建标准的应用程序,而VBA是使已有的应用程序(EXCEL等)自动化。 [3]  2. VB具有自己的开发环境,而VBA必须寄生于已有的应用程序。 [3]  3. 要运行VB开发的应用程序,用户不必安装VB,因为VB开发出的应用程序是可执行文件(*.EXE),而VBA开发的程序必须依赖于它的父应用程序,例如EXCEL。 [3]  4.VBA是VB的一个子集。 [3]  尽管存在这些不同,VBA和VB在结构上仍然十分相似。事实上,如果你已经了解了VB,会发现学习VBA非常快。相应的,学完VBA会给学习VB打下坚实的基础。而且,当学会在EXCEL中用VBA创建解决方案后,即已具备在WORD ACCESS OUTLOOK FOXPRO POWERPOINT 中用VBA创建解决方案的大部分知识。 [3]  * VBA一个关键特征是你所学的知识在微软的一些产品中可以相互转化。 [3]  * VBA可以称作EXCEL的“遥控器”。 [3] 
收起全文
精华内容
下载资源
问答
  • vba

    千次阅读 2007-10-29 19:32:00
    vba處理資料的經驗談

    vba處理資料的經驗談

    展开全文
  • VBA SPLIT函数详解

    万次阅读 多人点赞 2019-01-31 13:25:26
    VBA编程是经常会用到字符串拆分函数SPLIT,用法也不复杂,但是大家对于这个函数的参数未必完全了解,下面结合示例讲解一下参数的用法。 SPLIT函数的语法格式如下: Split(expression, [ delimiter, [ limit, [ ...

    VBA编程是经常会用到字符串拆分函数SPLIT,用法也不复杂,但是大家对于这个函数的参数未必完全了解,下面结合示例讲解一下参数的用法。

    SPLIT函数的语法格式如下:

    Split(expression, [ delimiter, [ limit, [ compare ]]])
    
    参数含义
    express需要拆分的字符串
    delimiter参数为拆分的分隔符,如果省略则使用空格做为分隔符
    limit指定返回字符串的数量
    compare指定拆分子字符串时的比较类型

    先来看一个示例,现在需要拆分Good good study day day up为单个单词。

    Sub Demo1()
        Dim strString As String
        Dim varResult As Variant
        Dim arrResult() As String
        strString = "Good good study day day up"
        varResult = VBA.Split(strString)
        arrResult = VBA.Split(strString)
    End Sub
    

    VBA.Split(strString)省略delimiter参数,则使用空格做为分隔符,拆分为6个单词字符串,在【本地窗口】中可以查看数组的值,如下图所示。
    在这里插入图片描述
    请注意变量声明语句,用于保存结果的数组,可以使用如下两种方式:Variant变量或者字符串数组,但是不可以声明为Variant数组。

        Dim varResult As Variant
        Dim arrResult() As String
    

    一般情况下,都无须指定LIMIT参数,下面看一个使用LIMIT参数的例子。对于一些国外地址如:888, Ocean Wind Rd, Markham, V4A,需要拆分为888Ocean Wind RdMarkham, V4A,而不是拆分为4段,此时就需要设置LIMIT参数为3。

    Sub Demo2()
        Dim strString As String
        Dim arrResult() As String
        Dim i As Integer
        strString = "888, Ocean Wind Rd, Markham, V4A"
        arrResult = VBA.Split(strString, ",", 3)
        For i = LBound(arrResult) To UBound(arrResult)
            Debug.Print Trim(arrResult(i))
        Next i
    End Sub
    

    接下来看一下如何使用compare参数,下面示例代码中设置为vbTextCompare,即执行文本比较,也就是说忽略字符大小写区别(S和s都可以作为分界符)。如下代码结果为包含4个元素的字符串数组(AAABBBCCCDDD)。

    Sub Demo3()
        Dim strString As String
        Dim arrResult() As String
        Dim i As Integer
        strString = "AAAsBBBSCCCsDDD"
        arrResult = VBA.Split(strString, delimiter:="s", compare:=vbTextCompare)
        For i = LBound(arrResult) To UBound(arrResult)
            Debug.Print Trim(arrResult(i))
        Next i
    End Sub
    

    如果将compare参数设置为vbBinaryCompare,那么结果就会不同了。

    Sub Demo4()
        Dim strString As String
        Dim arrResult() As String
        Dim i As Integer
        strString = "AAAsBBBSCCCsDDD"
        arrResult = VBA.Split(strString, delimiter:="s", compare:=vbBinaryCompare)
        For i = LBound(arrResult) To UBound(arrResult)
            Debug.Print Trim(arrResult(i))
        Next i
    End Sub
    

    字符串被拆分为三段,BBBCCC之间的S不再做为分界符。

    AAA
    BBBSCCC
    DDD

    通过这个讲解,希望大家完全明白了SPLIT函数的用法。


    参考文章
    《VBA JOIN函数详解》

    展开全文
  • VBA字典(详解,示例)

    万次阅读 多人点赞 2019-05-03 17:14:36
    字典主要作用:条件计数、条件求和、去重、匹配。 本篇主要介绍了VBA字典以上使用方法及注意事项。

    创建字典对象

    '后期绑定:方便代码在其他电脑上运行,推荐。
    dim dic as object
    Set dic = CreateObject("scripting.dictionary")
    
    '前期绑定:可以直接声明字典对象,有对象属性和方法的提示,但在其他没有勾选引用的电脑上无法正常运行。
    '引用勾选:VBE窗体-工具-引用-勾选‘Microsoft Scripting Runtime’
    dim dic as New dictionary
    
    ' 字段生成键值对 key-value
    key = "姓名"
    value = "身高"
    dic(key) = value
    

    字典的属性|方法

    • 键:dic.keys
    • 值:dic.items
    • 键值对条数:dic.count
    • 判断是否存在键key:dic.exists(key)
    • 清空字典键值对:dic.removeall
    • 删除键为key的键值对:dic.remove key
    • 删除字典对象:set dic = Nothing
    with activesheet
    	'dic.count:字典计数,字典中一共有多少条记录;
    	'dic.keys:字典的键,写入单元格以行写入,如需以列写入单元格,调用工作表函数transpose转置;
    	.cells(1,1).resize(dic.count,1) = application.worksheetfunction.transpose(dic.keys)
    	'清除工作表单元格内容
    	.cells.clearcontents
    	
    	'dic.items:字典的值;
    	.cells(1,1).resize(1,dic.count) = dic.items
    
    	'判断某内容是否存在与字典的键中
    	if dic.exists("内容") then debug.print "字符串‘内容’存在于字典的键中"
    	
    	'清空字典,有时候其他过程也需要使用字典,当前过程已经使用完了,但我们又不想重新创建字典对象,这时候我们可以public字典全局变量,再清空字典,供新的过程使用该字典对象。
    	dic.removeall
    	'清除单个字典键-值对,key是字典的某个需要删除的键
    	dic.remove key
    end with
    

    案例

    去重

    dim dic as object
    dim arr
    dim st
    Set dic = CreateObject("scripting.dictionary")
    
    arr = array("可乐","雪碧","鸡翅",,"可乐","汉堡包","鸡翅")
    for each st in arr
    	'字典的键是不能重复的,重复导入字典只会存在一个,可以利用字典这点特性去重。
    	'这里不需要字典的值,设置为空字符串或其他数值都可以。
    	dic(st) = ""
    next
    activesheet.range("a1").resize(dic.count,1) = application.worksheetfunction.transpose(d.keys)
    

    求和

    Sub dic_sumif()
    Application.ScreenUpdating = False
    Dim dic As Object
    Dim arr
    Dim i As Byte
    
    Set dic = CreateObject("scripting.dictionary")
    With ActiveSheet
        arr = .UsedRange
        For i = 2 To UBound(arr)
        	'dic(arr(i,1))没有值是默认是0,通过下面方法对每一个水果的销量进行累加。
            dic(arr(i, 1)) = dic(arr(i, 1)) + arr(i, 2)
        Next
        '使用copy方法,将表头复制到e1,f1单元格
        .Range("a1:b1").Copy .Range("e1")
        '字典键去重纵向写入到单元格
        .Cells(2, "e").Resize(dic.Count, 1) = Application.WorksheetFunction.Transpose(dic.keys)
        For i = 2 To dic.Count + 1
        	'循环输入字典键对应的值到f列
            .Cells(i, "f").Value2 = dic(.Cells(i, "e").Value2)
        Next
    End With
    set dic = Nothing
    Application.ScreenUpdating = True
    End Sub
    

    效果如下图:
    在这里插入图片描述

    计数

    如果对上面水果种类进行计数:countifs,只需要将分类汇总的值改为数值1即可,每出现一次‘+1’

    dic(arr(i, 1)) = dic(arr(i, 1)) + 1
    
    '在上面代码中添加下这条,修改下表头
    range("f1").value2 = "计数"
    

    效果如下图:
    在这里插入图片描述

    匹配

    • 这个应该是使用字典应用最多的了,需要注意的是,如果使用单元格写入到字典,单元格同时也包含格式等信息,如果只需要单元格的值,要使用单元格.value2方法,同时,字典的值也可以是数组
    • 数据源:
      在这里插入图片描述
    • 目标:匹配‘李白’和‘后羿’的身高和体重
    • 代码如下:
    Sub data_match()
    Application.ScreenUpdating = False
    Dim dic As Object
    Dim arr
    Dim i As Byte
    
    Set dic = CreateObject("scripting.dictionary")
    With ActiveSheet
        arr = .Cells(1, 1).CurrentRegion
        For i = 2 To UBound(arr)
        	'这里字典的值,用的是array数组,方便我们一下匹配多个数据,省去再创建字典对象麻烦。
            dic(arr(i, 1)) = Array(arr(i, 2), arr(i, 3))
        Next
        For i = 2 To .Cells(1, "e").End(xlDown).row
            .Cells(i, "f").Resize(1, 2) = dic(.Cells(i, "e").Value2)
        Next
    End With
    set dic = Nothing
    Application.ScreenUpdating = True
    End Sub
    

    效果如下:
    我在这里加入了‘妲己’,遍历用字典去匹配了,但是字典并没有‘妲己’这个key,匹配出来是空,并没有报错,大家不用担心字典没有对应key匹配而出错这种情况,这样只会将结果输出为空。~
    如果需要匹配的姓名后面有之前填写的身高和体重信息,但是载入字典的数据源并没有这个人的信息,我们在遍历匹配时,又不想使身高和体重被替换为空,这时候可以结合dic.exisst语句,判断姓名是否存在于字典的keys中,再输出匹配结果。
    在这里插入图片描述

    字典的value可以数值,字符串,数组等对象;

    Array可以通过索引获取对应的值,第一个数值的索引是0;Array(1,2,3,5)(0)返回的是1

    key的组合和分割

    解决多字段匹配问题

    dim arr
    dim i,row as long
    dim d as object
    dim key
    
    set d = createobject("scripting.dictionary")
    with thisworkbook
    	arr = .sheets(1).usedrange
    	for i = 2 to ubound(arr)
    		d(join(array(arr(i,1),arr(i,2),arr(i,3)),"|")) = arr(i,4)
    	next
    	' 把字典键值对写入到工作表
    	with .sheets("输出")
    		row = 2
    		for each key in d.keys
    			.cells(row,4).value = d(key)
    			.cells(row,1).resize(1,3) = split(key,"|")
    			row = row + 1
    		next
    	end with
    end with
    

    join方法可以将数组元素按照分隔符拼接起来,返回一个字符串;
    split方法,是join的反函数,将一个字符串按照分隔符分割,返回一个数组;


    字典value多字段累加

    比如分别加总活跃、付费等指标

    Sub game_type_active_pay()
    Dim file_directory, f As String
    Dim i, last_row As Long
    Dim d As Object
    Dim wb As Workbook
    Dim arr
    Dim active_uv, pay_uv As Long
    Dim pay As Double
    Application.ScreenUpdating = False    ' 关闭屏幕刷新
    
    file_directory = ThisWorkbook.Path & "/data/"
    f = Dir(file_directory & "*细分品类*")
    '未找到数据源,提示,关闭应用
    If f = "" Then
        MsgBox "未找到命名包含‘细分品类’文字数据源,请先下载数据源......"
        Application.ScreenUpdating = True
        End    ' 结束程序
    End If
    
    Set wb = Workbooks.Open(file_directory & f)   ' 打开工作簿
    Set d = CreateObject("scripting.dictionary")     ' 创建字典对象
    arr = ActiveSheet.UsedRange
    'On Error Resume Next
    For i = 2 To UBound(arr)
        If InStr("回流用户|留存用户|新增用户", arr(i, 4)) > 0 Then
            If arr(i, 3) = "类型1" Then arr(i, 3) = "类型2"		'将类型1合并为类型2
            If d.exists(arr(i, 1) & "|" & arr(i, 3)) Then
            	' vba没法直接对数组运算,将value拆开相加
                active_uv = d(arr(i, 1) & "|" & arr(i, 3))(0)
                pay_uv = d(arr(i, 1) & "|" & arr(i, 3))(1)
                pay = d(arr(i, 1) & "|" & arr(i, 3))(2)
               ' 字段累加
                active_uv = active_uv + arr(i, 6)    '活跃累加
                pay_uv = pay_uv + arr(i, 7)   ' 付费uv累加
                pay = pay + arr(i, 8)    ' 付费累加
                d(arr(i, 1) & "|" & arr(i, 3)) = Array(active_uv, pay_uv, pay)
            Else
            	' 如果不存在,直接生成一条记录
                d(arr(i, 1) & "|" & arr(i, 3)) = Array(arr(i, 6), arr(i, 7), arr(i, 8))
            End If
        End If
    Next
    'On Error GoTo 0
    wb.Close False    ' 关闭工作簿,不保存
    Set wb = Nothing
    
    With ThisWorkbook.Sheets("表名")
        arr = .UsedRange
        For i = 2 To UBound(arr)
            If d.exists(arr(i, 1) & "|" & arr(i, 2)) Then
                '如果新的数据源里存在该条记录,则用新的数据源覆盖
                .Cells(i, 3).Resize(1, 3) = d(arr(i, 1) & "|" & arr(i, 2))
                .Cells(i, 6).Value2 = .Cells(i, 5).Value2 / .Cells(i, 3).Value2
                d.Remove arr(i, 1) & "|" & arr(i, 2)
            End If
        Next
        last_row = .Cells(Rows.Count, 1).End(xlUp).Row + 1
        '将新的记录写入到数据源
        For Each Key In d.keys
            .Cells(last_row, 1).Resize(1, 2) = Split(Key, "|")
            .Cells(last_row, 3).Resize(1, 3) = d(Key)
            .Cells(last_row, 6).Value2 = .Cells(i, 5).Value2 / .Cells(i, 3).Value2
            last_row = last_row + 1
        Next
    End With
    
    Application.ScreenUpdating = True
    End Sub
    

    字典求和和计数同时进行

    有了加总与计数,也可以求平均值:sum/count

    Sub test()
    Dim d As Object
    Dim key_cnt As Long
    Dim key As String
    
    Det d = CreateObject("scripting.dictionary")
    arr = ActiveSheet.UsedRange
    For i = 2 To UBound(arr)
        key = Join(Array(arr(i, 2), arr(i, 3)), "|")
        '如果字典该条键存在,累加
        If d.exists(key) Then
            key_cnt = d(key)(0) + 1    '天数,计数+1
            val_sum = d(key)(1) + arr(i, 4)      '指标值加总
            d(key) = Array(key_cnt, val_sum)
        Else
            '如果不存在,计数计算为1
            d(key) = Array(1, arr(i, 4))
        End If
    Next
    ' 求平均数
    for k in d.keys
    	' 键 = array(计数,求和,平均数)
    	d(k) = array(d(k)(0),d(k)(1),d(k)(1) / d(k)(0)   ' 数组的第一个元素下标是0
    next
    
    End Sub
    

    类似sql的join操作

    有点像hive里面的mapjoin逻辑
    示例:游戏名称join关联游戏类型
    在这里插入图片描述

    Sub filter()
    Application.ScreenUpdating = False
    
    ' 使用筛选过滤
    Dim arr
    Dim brr()
    Dim d As Object
    Dim i As Byte
    Dim row As Byte
    
    Set d = CreateObject("scripting.dictionary")
    With ActiveSheet
        ' 把游戏品类写入到字典
        arr = .Range("f2:g4")
        For i = 1 To UBound(arr)
            d(arr(i, 1)) = arr(i, 2)
        Next
        
        ' 筛选头部游戏数据
        arr = .Range("a2:c11")
        row = 0
        ReDim brr(1 To 4, 1 To 1)
        For i = 1 To UBound(arr)
            If d.exists(arr(i, 1)) Then     ' 如果是精品游戏,则返回这一行记录
                row = row + 1
                ReDim Preserve brr(1 To 4, 1 To row)
                brr(1, row) = arr(i, 1)
                brr(2, row) = arr(i, 2)
                brr(3, row) = arr(i, 3)
                brr(4, row) = d(arr(i, 1)) ' 匹配游戏品类
            End If
        Next
        
        ' 输出
        .Range("j1:m1").Copy .Range("j10")
        .Range("j11").Resize(UBound(brr, 2), 4) = Application.WorksheetFunction.Transpose(brr)
    End With
    
    Application.ScreenUpdating = True  ' 恢复复屏幕刷新
    End Sub
    
    展开全文
  • VBA编程VBA编程VBA编程VBA编程VBA编程VBA编程VBA编程
  • vba实例vba实例vba实例vba实例vba实例vba实例vba实例vba实例vba实例vba实例
  • VBA挑战 VBA家庭作业2华尔街的VBA
  • VBA数组VBA数组VBA数组

    2010-07-14 23:15:29
    VBA数组VBA数组VBA数组VBA数组VBA数组
  • VBA语言生成二维码
  • VBA_挑战 VBA作业
  • VBA挑战 Excel VBA作业
  • VBA助手code VBA8

    2020-10-09 22:12:44
    VBA助手,EXCEL开发工具,EXCEL2007~2019都能用。国外开发的,附加在VBE中,用着很方便,有各类常用代码的提示,方便输入。
  • VBA Code VBA Code

    2011-10-26 08:45:18
    VBA Code VBA Code VBA Code VBA Code VBA Code
  • VBA课件VBA入门

    2011-10-26 12:28:35
    VBA入门VBA入门VBA入门VBA入门VBA入门VBA入门VBA入门
  • 帮助编程VBA程序,更好的完成编程,对代码可以检查,快速检查代码
  • VBA挑战 一张纸完成了VBA Stocks Project基本挑战
  • EXCEL_VBA_完全手册,vba帮助手册,VBA源码.rar
  • EXCEL_VBA_完全手册,vba帮助手册,VBA源码.zip
  • A library of Excel VBA functions and routines I use in projects
  • VBA工具箱:VBA工具箱
  • vba例子基础vba例子基础vba例子基础vba例子基础vba例子基础
  • VBA80 26集VBA数组之VBA排序算法(下)
  • VBA动态数组VBA动态数组VBA动态数组VBA动态数组VBA动态数组VBA动态数组VBA动态数组VBA动态数组VBA动态数组
  • excel vba excel vbaexcel vba

    2011-03-08 09:42:46
    不错的东西excel vbaexcel vbaexcel vbaexcel vba不错的东西不错的东西不错的东西不错的东西
  • 用于移除VBA密码,移除VBA的工程的密码
  • delphi调用VBA的Find,可以通过这种方法,调用大部分的VBA的函数,例子简单,可拓展性很强
  • VBA挑战 VBA家庭作业-VBA脚本和屏幕截图
  • VBA实例VBA实例

    2008-12-16 10:39:38
    VBA实例VBA实例VBA实例VBA实例
  • 进销存管理系统,基于excel和VBA实现
  • EXCEL VBA入门EXCEL VBA入门EXCEL VBA入门EXCEL VBA入门EXCEL VBA入门EXCEL VBA入门EXCEL VBA入门

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 65,190
精华内容 26,076
关键字:

vba