精华内容
下载资源
问答
  • VBA字典精简教程带范例VBA字典精简教程带范例
  • VBA 字典实例

    2019-02-26 09:46:34
    VBA字典的创建,实现,以及复杂的字典嵌套实例教程,众多实例,一步一步的揭开字典的神秘面纱
  • Excel VBA字典与数组精讲,供Excel高级开发者和爱好者学习使用。
  • VBA字典入门

    2014-02-18 15:36:06
    VBA字典的入门教程及提高。由EXCELHOME蓝桥玄霜版主整理。
  • VBA字典(上)

    2019-05-13 17:21:51
    VBA字典教程(上),主要介绍字典的一些功能,让VBA在EXCEL中应用的更加得心应手。
  • VBA字典合集

    2019-04-16 11:06:17
    新手学习VBA代码必用的工具,集成大量VBA功能实现的代码
  • vba字典用法示例Dictionary is a data type that can be used for different purposes. Dictionaries provide one key and one value matched together. JavaScript programming language does not provide the ...
    vba字典用法示例

    vba字典用法示例

    Dictionary is a data type that can be used for different purposes. Dictionaries provide one key and one value matched together. JavaScript programming language does not provide the Dictionary data structure natively. But a dictionary data structure can be implemented with the help of JavaScript Object type. In this tutorial, we will learn how to create a dictionary, add/remove items, get items, iterate over items, etc.

    字典是一种可以用于不同目的的数据类型。 词典提供一个键和一个匹配在一起的值。 JavaScript编程语言本身不提供Dictionary数据结构。 但是,可以借助JavaScript Object type来实现字典数据结构。 在本教程中,我们将学习如何创建字典,添加/删除项目,获取项目,遍历项目等。

    字典或键/值对或项目 (Dictionary or Key/Value Pair or Item)

    Before starting to learn the dictionary in JavaScript we have to make clear some terms used with the dictionary data type. Dictionary is consist of single or multiple items which are just key and value pair.

    在开始使用JavaScript学习字典之前,我们必须弄清楚与字典数据类型一起使用的一些术语。 词典由单个或多个项目组成,它们只是键和值对。

    • `Dictionary` may contain single or multiple items.

      “字典”可能包含单个或多个项目。
    • `Item` consists of Key and Value pairs.

      Item由键和值对组成。
    • `Key` is used to select, search and filter an item.

      “键”用于选择,搜索和过滤项目。
    • `Value` is used to store some data inside an item.

      “值”用于在项目内部存储一些数据。

    用JavaScript创建字典 (Create Dictionary In JavaScript)

    As the dictionary is not supported natively we will use the Object type where we will simply create a new object with the dictionary variable name. First, we will create a dictionary just by creating an object whose variable name is dict but this name can be different.

    由于本机不支持字典,因此我们将使用“对象”类型,我们将仅使用字典变量名称创建一个新对象。 首先,我们将通过创建一个变量名称为dict但该名称可以不同的对象来创建dict

    //Create Dictionary with Object
    var dict = Object();
    

    Alternatively, we can create a dictionary by using curly brackets which will also create an Object

    另外,我们可以使用大括号创建字典,这也会创建一个对象

    //Create Dictionary with Object
    var dict = {};
    

    Another alternative way is creating a dictionary by setting some items or key/value pairs.

    另一种替代方法是通过设置一些项或键/值对来创建字典。

    var dict = {
    
       ismail: "Baydan",
    
       ahmet: "Ali",
    
       elif: 1,
    
       "ilknur": "Baydan",
    
       10: "Val",
    
    };
    

    We can see from the example that the key and values can get a different type of data like string, integer, etc.

    从示例中我们可以看到,键和值可以获取不同类型的数据,例如字符串,整数等。

    LEARN MORE  How To Add, Remove, Delete, Import, Export, Manage Registry Keys From Command Line In Windows?
    了解更多如何在Windows中从命令行添加,删除,删除,导入,导出,管理注册表项?

    在字典中添加/填充项目 (Add/Populate Item To Dictionary)

    We can add or populate a dictionary very easily by using the key and value like below.

    我们可以使用下面的键和值很容易地添加或填充字典。

    dict["ismail"] = "baydan";
    
    dict[30]= "This ";
    

    We can also create an item or key/value pair by using dot notation like below. We will add a new key FirstName to the dictionary named dict with a value John.

    我们还可以通过如下所示的点符号来创建项目或键/值对。 我们将向名为dict的字典中添加一个名为John的新键FirstName

    dict.FirstName="John";
    

    删除/删除项目到字典 (Remove/Delete Item To Dictionary)

    We can also remove a dictionary item by using JavaScript delete keyword where we will provide the item with dot format or square format. Below we will delete two items those keys are ismail and 10.

    我们还可以使用JavaScript delete关键字删除字典项,在字典项中,我们将以点格式或正方形格式提供该项。 在下面,我们将删除两项,即密钥ismail和10。

    //Delete Item with Key ismail
    delete dict.ismail;
    //Delete Item with Key 10
    delete dict[10];
    

    迭代/循环字典项 (Iterate/Loop Over Dictionary Items)

    Generally, a dictionary will have multiple keys where we may need to iterate or loop over them. We can use the JavaScript for loop in order to iterate over keys and return the value with the current key.

    通常,字典将具有多个键,我们可能需要在这些键上进行迭代或循环。 我们可以使用JavaScript for循环来遍历键并使用当前键返回值。

    //Iterate over dict and get key for each step
    for(var k in dict){
       
       //Return the value for the current key
       var v = dict[k];
    
    }
    

    获取/访问字典中的项目 (Get/Access Item In Dictionary)

    We can get or access a specific item by using the key. We will just provide the key with a square parenthesis or dot usage below.

    我们可以使用密钥获取或访问特定项目。 我们仅在下面提供带有方括号或点用法的密钥。

    //Access using squre paranthesis
    var val1  = dict["Name"];
    //Access using dot
    var val2 = dict.Surname;
    

    更改/更新字典中的值 (Change/Update Value In Dictionary)

    We can also change an existing item value by using its key. This will not delete the item it will just update. In this following example, we will change the Name key value to Elif and 10 key value to ten.

    我们还可以使用其键更改现有项的值。 这不会删除只会更新的项目。 在下面的示例中,我们将Name键值更改为Elif ,将10键值更改为ten

    //Change or Update Value 
    dict.Name = "Elif";
    
    
    dict[10] = "ten";
    

    检查密钥是否存在 (Check If Key Exist)

    We can check if an item or key exists by using a simple if statement. We will just provide the key to the if statement. If the item or key exists the if block will be executed.

    我们可以使用简单的if语句检查项目或键是否存在。 我们将只提供if语句的密钥。 如果项或键存在,则将执行if块。

    if(dict.name){
       //The dict.name exist
       console.log(dict.name);
    }
    
    
    if(dict[10]){
       //The dict 10 exist
       console.log(dict[10]);
    
    }
     

    翻译自: https://www.poftut.com/how-create-and-use-dictionary-in-javascript-tutorial-with-examples/

    vba字典用法示例

    展开全文
  • VBA字典(dictionary)

    万次阅读 多人点赞 2017-06-25 22:19:29
    这是我看到的最简单明了的Excel VBA字典(dictionary)的教程,把字典的应用,用短短几百字,全部道尽,简!但精彩!原文如下: 当年我(原作者:彭希仁)向LDY版主求教字典的时候,他老人家总结了一句话“呼之即来,挥...

    这是我看到的最简单明了的Excel VBA字典(dictionary)的教程,把字典的应用,用短短几百字,全部道尽,简!但精彩!原文如下:

    当年我(原作者:彭希仁)向LDY版主求教字典的时候,他老人家总结了一句话“呼之即来,挥之即去”
    即学会d(a)=s  和  s=d(a) 就差不多了,忘记ADD存在。

    一、定义字典

    Set d = CreateObject("Scripting.Dictionary")

    二、呼之即来,挥之即去

    d("张三“)=1     '相当于给字典赋值,张三过来(没有就生成)拿个1站一边去
    d("李四”)=2     '相当于给字典赋值,李四过来(没有就生成)拿个2站一边去
    d("李四”)=3     '相当于改变值,字典中已经有李四了,李四跑过来,丢下2换个3站一边去
    注:这时字典中有两个人的存在,张三=1 和 李四=3,相当于实现了去重复的功能

    s=d("张三")    's=1   即叫了声张三,张三就告诉你他拿的是1
    s=d("李四")    's=3   即叫了声李四,李四就告诉你他拿的是3
    s=d("麻子")    's=""  没有找到麻子怎么办呢,字典里就自动生成一个麻子d("麻子") =“”,告诉你他手上是空的
    注:这时字典中有三个人的存在,张三=1 ; 李四=3;麻子=“”

    三、将字典里的东西变成数组

    arr= d.Keys    '把名字的集合按先来后到的原则放到一维数组里  arr(0)=“张三” ; arr(1)=“李四” ; arr(2)=“麻子”
    arr1=d.Items      '把名字对应的值的集合按先来后到的原则放到一维数组里  arr1(0)=“1” ; arr1(1)=“3” ; arr1(2)=“”

    四、查找字典中有没有这个人     

    s=d.Exists(“张三”)  's=True  有的
    s=d.Exists(“http://www.excelba.com”)  's=False  没有

    五、清空数组

    d.RemoveAll

    是不是简单呢?

    上文出处:http://club.excelhome.net/thread-926188-1-1.html

    Sub 宏1()
        Set dic = CreateObject("Scripting.Dictionary") '字典
        For i = 1 To 10000
        If Not i Like "*4*" Then
            dic.Add i, "" '如果不包含“1”
        End If
        Next i
        Range("a2").Resize(dic.Count, 1) = Application.WorksheetFunction.Transpose(dic.keys) '
    End Sub
    Tranpose工作表函数的用法实例,把一行多列的二维数组转换成一维数组。

    Sub 宏2()
        Dim arr, arrt
        arr = Range("a1:j1")
        arrt = WorksheetFunction.Transpose(WorksheetFunction.Transpose(arr))
    End Sub

    e.g:

    Sub 字典()
        Dim arr()
        Dim i As Integer
        Dim j As Integer
        Dim Mrow As Integer
        Dim rng As String
        Mrow = ActiveSheet.Range("A65536").End(xlUp).Row
        rng = Range("A" & Mrow).Address(0, 0)
        Set d = CreateObject("scripting.dictionary")
        [B2:B65535] = ""
        arr = Range("A2", rng)
        For i = 1 To UBound(arr)
            'If i = 2 Then
                d(arr(i, 1)) = i
            'Else
                'd(arr(i, 1)) = ""
            'End If
        Next i
        'Sheet1.Cells(2, 1).Resize(d.Count) = WorksheetFunction.Transpose(d.keys)
        '对字典进行循环
        K = d.keys
        V = d.Items
        For j = 0 To d.Count - 1
            Sheet1.Cells(j + 1, 3) = K(j)
            Sheet1.Cells(j + 1, 4) = V(j)
        Next j
        d.RemoveAll
        Set d = Nothing
        Set K = Nothing
        Set V = Nothing
    End Sub



    展开全文
  • VBA-Dictionary字典基本用法

    千次阅读 2020-07-20 13:21:14
    标题1.创建Dictionary Set dict = CreateObject(“Scripting.Dictionary”) 标题2.增加项目 dict.Add “A”, 300 dict.Add “B”, 400 ...cells(i,j).value否则会将一个range对象赋值给字典 标题3.

    标题1.创建Dictionary

    Set dict = CreateObject(“Scripting.Dictionary”)

    标题2.增加项目

    dict.Add “A”, 300
    dict.Add “B”, 400
    dict.Add “C”, 500

    另外,使用dict.item(key)=value,如果dict中没有关键字key,会自动添加key:value对。
    在使用cells读取数值存放到数组中时,一定要加value;cells(i,j).value否则会将一个range对象赋值给字典

    标题3.删除项目

    dict.Remove(“A”)//删除key指定的元素

    dict.RemoveAll()//删除所有的键值对

    标题 4.判断关键字是否存在

    dict.exists(“A”)//如果存在,返回true,否则返回false

    标题5.遍历

    dict.keys()//返回包含所有key的数组

    dict.Items()//返回包含所有value的数组

    使用for循环实现遍历

    标题6.声明

    有时候会将字典变量当做全局变量(多个过程共用),字典属于Object类型,因此需要这样声明:

    Dim dict As Object

    然后再过程中对dict进行创建或初始化:

    Set dict = CreateObject(“Scripting.Dictionary”)

    标题7.参数传递

    例如一个向dict中添加元素的自定义方法,可以这样声明

    addDict(dict As Variant)

    展开全文
  • Vba菜鸟教程

    万次阅读 多人点赞 2020-05-02 18:21:15
    文章目录Vba菜鸟教程编辑器宏vba基本语法运算符变量语句简写语句sub语句调用语句退出语句分支语句循环语句判断语句公式与函数在单元格输入公式利用单元格公式返回值调用工作表函数利用vba函数自定义函数操作对象操作...

    Vba菜鸟教程

    官方文档:https://docs.microsoft.com/zh-cn/office/vba/api/overview/language-reference
    代码完成后:工具-vbaproject属性-保护-查看时锁定-密码

    编辑器

    • 注释‘单引号开头,可通过调出编辑窗口批量注释和取消
    • 强制转行:插入两个空格,下划线,回车
    • debug
      • 在工具栏中,右键,调试工具栏
      • 首行加上optionexplicit使得编译更严格,变量申明
      • f8单步运行,在最左边点一下设置断点/f9
      • Debug Print “立即窗口输出过程的值:”&x
      • 本地窗口可以显示中断,逐步调试时的对象信息,变量值,数组信息,Stop可以中断

    • 开发者工具,设置安全性启用宏,保存文件需要保存为启用宏的工作簿
    • 使用相对流录制宏,不固定位置,相对位置操作
    • 加载宏(本地代码库)
      • 代码保存在模块
      • 保存文件格式为xla或xlam
      • 开发者工具——加载项——加载(要删除需要取消加载)
      • 快速访问工具栏——从下列位置选择命令-宏-添加为左上角倒三角小图标-将宏增加为一个小工具图标
    • 自定义功能区

    vba基本语法

    运算符

    • and 与
    • or 或
    • & 连接变量和字符串,前后有空格
    • <> 不等于
    • in 在什么里
    • like 可使用通配符
      • *任意个字符
      • ?一个字符
      • #一个数字
      • [A-W a-w]a-w或A-W中的一个字符
      • [!0-9] 字符不是0-9之间

    变量

    在这里插入图片描述

    Dim x As Integer 整数
    
    Dim st As String 文本
    
    Dim rg As Range 对象
    Set rg = Range("A1") ·对象赋值
    
    Dim arr(1 to 10) As Integer 数组
    
    Long 长整数, Single 单精度,Double 双精度,Date 时间
    
    
    • Public x As Interger '声明全局变量,所有模块都能用,不建议,可以使用函数取变量
    • isnumeric(x) 判断x是否是数字,在vba.Information中
    • set i = Range(“A1”) 'set,可以将对象赋值给变量
    • 判断变量未赋值 is nothing

    数组

    dim arr() '定义数组,不能单独给每个变量赋值,用区域赋值
    dim arr(10) '下标从0开始'
    ReDim [Preserve] arr(1 To j) '数组中不能直接定义变量。需要重定义才能加变量,Preserve保留原本有的值,只改大小
    dim arr(1 to  20)
    
    arr = Range("A1:D9") '给数组赋值
    Range("A11") = arr(7,2) '数组第七行,第二列
    
    '最大值
    Range("h3") = Application.WorksheetFunction.Max(arr)
    'match是找到值在数组中的位置,参数是要找的值,要找的数组,精确为0
    Range("h2") = Range("a" & Application.WorksheetFunction.Match(Range("h3"), arr, 0) + 1)
    
    '数组的上界,下界
    MsgBox UBound(arr)
    MsgBox LBound(arr)
    
    

    字典

    • 一个特殊的数组,去重复值
    '在VBE界面中 工具—引用勾选Microsoft scripting runtime,没有就浏览scrrun.dll-确定
    Dim dic As New Dictionary
    
    '推荐使用方法
    Dim dic
    Set dic = CreateObject("Scripting.Dictionary")
    
    
    '增加一项
    dic.Add Key, Item 
    '通过值取得,修改item
    Range("A1") = dic(key)
    dic(key) = 200
    
    '通过作为key存入字典,去掉重复值,keys取出
    For i = LBound(arr) To UBound(arr)
        If arr(i, 2) = Me.ListBox1.Value Then
            dic(arr(i, 3)) = 1
        End If
    Next
    Me.ListBox2.List = dic.keys
    

    语句

    简写语句

    '把语句中相同的部分提到前面
    With Selection.Font
            '字体
            .Name = "华文琥珀"
            '字号
            .Size = 9
    End With
    

    sub语句

    • 实现一个功能
    • private sub私有,本模块才能调用
    • public sub公有,默认
    Sub test(str as String)
        Range("A1") = 100
    End Sub
    

    调用语句

    调用其他程序
    Sub test1()
        Call test
    End Sub
    

    退出语句

    • End 退出所有程序
    • Stop 中断
    • Exit Sub 退出相应的sub,function,for,do
    • Exit function
    • Exit for
    • Exit do

    跳转语句

    goto-跳转到指定地方

    Sub test()
        Dim st
    100:
        st = Aplication.InputBox("请输入数字", "输入提示")
        If len(st) = 0 Then GoTo 100
    End Sub
    

    gosub-return-跳过去,返回来

    Sub test()
        Range("A1") = 100
        GoSub 100
        Range("A1") = 20
        Exit Sub
    100:
        Range("A1") = 50
        Return
    End Sub
    

    错误处理语句

    On Error Resume Next遇到错误,跳过,继续执行下一句

    Sub test()
      On Error Resume Next
      Range("A1") = 10
    End Sub
    

    On Error GoTo遇到错误,跳到指定行数

    Sub test()
      On Error GoTo 100
      Range("A1") = 10
      Exit Sub
    100:
      Range("A1") = 1
    End Sub
    

    On Error GoTo 0,取消错误跳过,使得On Error Resume Next没有作用

    Sub test()
      On Error Resume Next
      Range("A1") = 10
      If Range("A1").Value > 0 Then On Error GoTo 0
    End Sub
    

    循环语句

    for-to-next循环

    Sub test2()
    Dim x As Interger`声明变量
        For x = 1000 To 10 Step -1
            Cells(x, 1) = x
        Next x
    End Sub
    
    

    for-each-next循环

    Sub test2()
    Dim rg As Range
        For Each rg In Range("d2:d18")
            rg = re.Offset(0,-1)*rg.Offset(0,-2) 
        Next rg
    End Sub
    

    do-loop循环

    Sub test2()
    Dim x As Interger
        x = 1
        Do
            x = x + 1
            Cells(x, 4) = Cells(x, 2) * Cells(x, 3)
        Loop Until x = 18
    End Sub
    

    do-while循环

    Sub test2()
    Dim x As Interger
        x = 1
        Do while x < 18
            x = x + 1
            Cells(x, 4) = Cells(x, 2) * Cells(x, 3)
            If Cells(x, 4) = 25 Then
                Cells(x, 4) = 0
                Exit Do `跳出循环
        Loop
    End Sub
    

    判断语句

    if判断

    单条件判断
    Sub 判断1()
        If Range("A1").value > 0 Then
            Range("B1") = "正数"
        Else
            Range("B1") = "负数"
        End IF
    End Sub
    
    多条件判断
    Sub 判断1()
        If Range("A1").value > 0 Then
            Range("B1") = "正数"
        ElseIf Range("A1").value = 0 Then
            Range("B1") = "0"
        Else
            Range("B1") = "负数"
        End IF
    End Sub
    
    多条件判断
    Sub 判断1()
        If Range("A1") <> "" And Range("A2") <> "" Then
            Range("B1") = Range("A1")*And Range("A2")
        End IF
    End Sub
    
    单语句判断
    Sub 判断1()
        Range("B1").value = IIf(Range("A1") <= 0, "负数或0", "正数")
    End Sub
    

    select判断

    Sub 判断1()
        Select Case Range("A1").value
        Case 0 To 1000 
            Range("B1") = "正数"
        Case Is = 0 
            Range("B1") = "0"
        Case Else
            Range("B1") = "负数"
        End Select
    End Sub
    

    公式与函数

    在单元格输入公式

    输入普通公式

    Sub test()
        Range("A1") = "=B2*C2"
        Dim x As Interger
        For x = 2 To  6
            Cells(x, 1) = "=b"&x&"*C"&x `连接变量和字符串需要&
        Next x
    End Sub
    

    输入带引号的公式,引号加倍

    Sub test()
        Range("A1") = "=SUMIF(A2:A6,""b"",B2:B6)"
    End Sub
    

    输入数组公式,加上FormulaArray

    Sub test()
        Range("A1").FormulaArray = "=SUM(A2:A6*B2:B6)"
    End Sub
    

    利用单元格公式返回值

    • 使用Evaluate()
    Sub test()
        Range("A1") = Evaluate( "=SUMIF(A2:A6,""b"",B2:B6)")
        Range("A1") = Evaluate("=SUM(A2:A6*B2:B6)")
    End Sub
    

    调用工作表函数

    • 在Application.WorksheetFunction中,表,区域等使用vba中的写法
    Sub test()
    '跳过出错
    On Error Resume Next 
        Range("A1") = Application.WorksheetFunction.Sum(Range("d2:d6"))
        '统计sheet2表a列记录数
        Application.WorksheetFunction.CountA(Sheets(2).Range("a:a")) - 1
        '统计sheet3表f列是男的记录数
        Application.WorksheetFunction.CountIf(Sheets(3).Range("f:f"), "男")
        '查询的内容,查询范围,返回第几列,精确为0
        Application.WorksheetFunction.VLookup(Sheet1.Range("d9"), Sheets(2).Range("a:h"), 8, 0)
    End Sub
    

    利用vba函数

    Sub test()
        'E在A22单元格的位置,没有返回0
        Range("A1") = VBA.String.InStr(Range("A22"), "E") 
        
        '在VBA.Strings中,按符号分割字符串,返回数组
        'Range("A1") = Split(Range("A1"),"-")(0)
        
        With Sheet1
        'DateSerial根据数字转化为日期,取字符串的左边,中间,右边,取得地址,字符串个数,mid第二个参数从第几个字符串开始取
            .Range("b" & i) = DateSerial(Left(.Range("a" & i), 4), Mid(.Range("a" & i), 5, 2), Right(.Range("a" & i), 2))
        End With
        
        '带路径返回文件名,文件不存在返回空,可以使用通配符*,匹配到多个文件时,返回一个,继续使用dir不带参数,返回下一个,没有了返回空,再使用dir报错
        str = Dir("E:\code\exce_vba\*.xls*")
        
        '查找
        Set rng = Range("d:d").Find(Range("l3"))
        
        'timer算运行时间
        t = timer
        Range("A1") = timer - t
    End Sub
    

    常用的几类vba

    在这里插入图片描述

    自定义函数

    • 返回一个结果
    function shcount(x as Integer,str as string)
        shcount = Sheets.Count+x
    End function
    

    操作对象

    类模块

    • vba编辑界面-右键插入-类模块-属性菜单改类名
    • sub创建方法
    • 创建属性
    '类似函数,get只读属性,Let可写,Set对象变量
    Property Get Scount()
    Scount = Sheets.Count
    End Property
    
    
    • 创建对象:dim aa as new 类名称
    • 右键-导入\导出类模块

    excel应用对象

    • application
    • 隐藏窗口application.visible = false
    • 关闭应用application.quit

    操作工作簿

    • Workbooks 工作簿集合,Workbooks(N),打开的第n个工作簿
    • Workbooks(“工作簿名称”)
    • ThisWorkBook 代码所在工作簿
    • ActiveWorkbook 正在操作的工作簿

    方法

    Workbooks.Open Filename:="E:\code\exce_vba\1.xlsx" `打开
    Workbooks.Add `新建
    ActiveWorkbook.Sheet(1).Range("A1") = "wy" `操作
    ActiveWorkbook.Save `保存,一般在文档
    ActiveWorkbook.SaveAs Filename:="E:\code\exce_vba\1.xlsx" `另存为
    ActiveWorkbook.close  `关闭
    
    `屏幕更新以及取消,成对出现
    Application.ScreenUpdating = False 
    Application.ScreenUpdating = True
    
    '改文件名
    name "文件位置" as "改名后文件位置"
    

    属性

    操作工作表

    • Sheets(“工作表名称”)
    • Sheets(N),打开的第n个工作表,在左下角的位置
    • Sheet1 第一个插入的工作表,与位置无关,相当于本名
    • ActiveSheet 正在操作的工作表
    • Worksheets 不包括宏的工作表

    方法

    Sheet1.Select `选中表1
    
    Sheets.Add after:=Sheet3, Count:=4 `在第三张表后插入四张表
    
    `删除表格,需要先取消弹窗
    Excel.Application.DisplayAlerts = False
    Sheets(Sheets.Count).Delete
    Excel.Application.DisplayAlerts = True
    
    `复制一张新表
    Sheet4.Copy after:=Sheets(Sheets.Count)
    
    

    属性

    Sheets.Count `表的数量
    Sheet1.Name = "1月" `表的名称
    Sheet1.Visible = xlSheetVeryHidden '只有改变为true才可见
    Sheet1.Visible = xlSheetVisible '值为-1,使可见
    Sheet2.Protect "test" '保护
    Sheet2.Unprotect Password:="test" '取消保护
    

    操作单元格

    • Cells 所有单元格
    • Range(“单元格地址”),
    • Range(“A1:F2,D3,F4”)
    • Range(“A1”,“D1”)
    • [A1:D1] 固定的,不能加变量
    • Range(Cells(1,4),Cells(1,4))
    • Cellls(行数,列数)
    • Activecell 正被选中或编辑的单元格
    • Selection 正被选中的单元格或区域

    属性

    Value 值
    Name 名称
    Interior.ColorIndex = 3 单元格内部的颜色
    Font.ColorIndex = 3 单元格字体的颜色
    

    方法

    对象.方法 参数名称:=参数值

    ` 删除,清除内容
    Range ("A1:f122").Delete 
    Range("A1:f122").ClearContents
    
    `复制
    Range("A1:D1").Copy Destination:=Range("A2")
    Range("A1:D1").Copy Range("A2")
    
    `合并单元格
    range("A1:B1").Merge
    
    `偏移offset,下移,右移
    Range("A1").Offset(1, 1)
    
    `跳跃到相连数据块边缘,跳过空格
    Range("C1").End(xlDown)
    Range("A65536").End(xlUp).Row 最后一行
    
    `重新选区,以单元格为顶点几行,几列
    Range("A1").Resize(2,3)
    
    `整行,整列
    Range("A1").EntireRow
    Range("A1").EntireColumn
    
    `筛选
    Range("$A$1:$F$1048").AutoFilter Field:=4, Criteria1:="一车间"
    
    

    图形对象

    常见属性

    Dim shp As Shape
    
    For Each Shp In Sheet1.Shapes
        Shp.Name 名称
        Shp.TopLeftCell.Address  左上角地址
        Shp.Type 类型
        Shp.Delete 删除
        Shp.Left 位置左
        Shp.Top 位置上
        Shp.Width 位置宽
        Shp.Visible 可见性
        shp.FormControlType 表单控件类型
    Next
    

    常用方法

    '插入图片,帮助文档看详细参数
    Sheet1.Shapes.AddPicture("图片位置",msoFalse,  msoTrue, 左,上,宽,高)
    
    '简单控件
    shp.Characters.Text
    
    

    事件

    关闭事件

    `在事件中加入,使事件执行过程中不执行事件
    Application.EnableEvents = False
    Application.EnableEvents = True
    

    工作簿事件

    在这里插入图片描述

    工作表事件

    在这里插入图片描述

    控件

    • 设置格式-属性-大小和位置均固定

    窗体

    • vba编辑界面-右键插入-用户窗体
    • 双击窗体或里面的控件进行编程
    • ShowModal 显示模式,为true不可以点击其他窗口,独占
    • Show 显示
    • Hide 隐藏
    • UserForm_Activate 激活
    • UserForm_QueryClose 退出

    ActiveX控件

    属性,右键属性查看,常用有:

    • Enabled 可用性
    • Caption 标题
    • Visible 可见性

    OptionButton(单选按钮)

    • GroupName 组名,同组按钮互斥
    • Value 返回值

    Label (标签)

    SpinButton (微调按钮)

    • Value 返回值

    • MIN 最小值

    • MAX 最大值

    • change事件

    TextBox(文本框)

    • PasswordChar 密码字符,显示为密码形式
    • TabIndex 按下Tab键时的切换顺序

    CheckBox(复选框)

    ComboBox(下拉框)

    • List 数据源列表

    • AddItem 增加一个下拉项目

    • RemoveItem 移除一个项目

    • Clear

    ListBox (列表框)

    • ColumnCount 列,分为几列,list(2,3)变二维列表

    • List 数据源列表,数组

    • ListBox1.Selected(i) = True '查看i项是否被选中,被选中为true

    • AddItem 增加一个下拉项目

    • RemoveItem 移除一个项目

    • Clear

    CommandButton (按钮)

    用户信息交互

    msgbox弹窗

    msgbox("显示文字",显示样式几个样式用加号连接,标题,帮助文档位置,帮助文档索引值0)
    

    显示样式

    常数	值	描述
    vbOKOnly	0	只显示 确定 按钮
    VbOKCancel	1	显示 确定 及 取消 按钮。
    VbAbortRetryIgnore	2	显示 放弃、重试 及 忽略 按钮。
    VbYesNoCancel	3	显示 是、否 及 取消 按钮。
    VbYesNo	4	显示 是 及 否 按钮。
    VbRetryCancel	5	显示 重试 及 取消 按钮。
    VbCritical	16	危险图标
    VbQuestion	32	询问图标
    VbExclamation	48	警告图示
    VbInformation	64	信息图标
    vbDefaultButton1	0	第一个按钮是缺省值。
    vbDefaultButton2	256	第二个按钮是缺省值。
    vbDefaultButton3	512	第三个按钮是缺省值。
    vbDefaultButton4	768	第四个按钮是缺省值。
    vbApplicationModal	0	应用程序强制返回;应用程序一直被挂起,直到用户对消息框作出响应才继续工作。
    vbSystemModal	4096	系统强制返回;全部应用程序都被挂起,直到用户对消息框作出响应才继续工作。
    vbMsgBoxHelpButton	16384	将Help按钮添加到消息框
    VbMsgBoxSetForeground	65536	指定消息框窗口作为前景窗口,就是显示在窗口的最上层
    vbMsgBoxRight	524288	文本为右对齐
    vbMsgBoxRtlReading	1048576	指定文本应为在希伯来和阿拉伯语系统中的从右到左显示
    

    返回值

    常数	值	说明
    vbOK	1	确定
    vbCancel	2	取消
    vbAbort	3	终止
    vbRetry	4	重试
    vbIgnore	5	忽略
    vbYes	6	是
    vbNo	7	否
    

    inputbox输入框

    'val文本型数字转为数字型
    i = val(inputbox ("文字","标题","默认值",左边距,上边距,帮助文档位置,帮助文档索引值0)) 
    
    i = Application.Inputbox(提示文字,标题文字,默认值,左边距,上边距,帮助文件,帮助文件索引,输入类型)
    

    类型值:可使用加号连接

    值	含义
    0	公式
    1	数字
    2	文本 (字符串)
    4	逻辑值 (True 或 False)
    8	单元格引用,作为一个 Range 对象
    16	错误值,如 #N/A
    64	数值数组
    

    GetOpenFilename打开文件

    GetOpenFilename (文件类型,优先类型,对话框标题,按钮文字[不生效],是否支持多选)
    '返回文件完整路径,取消返回False,多选时返回数组,第一个文件下标为1
    '文件类型参数中,先指定文件类型名,再指定后缀,要成对出现
    '优先类型是指文件类型中列出的各种类型,哪种优先显示
    A= Application.GetOpenFilename("新表,*.xlsx,老表,*.xls", 1, "快特么选!", "确定", False)
    
    

    Dialogs(对话框)

    '对话框中所做的操作会真实执行,具体的值见附表
    Application.Dialogs(xlDialogSaveAs).Show
    Application.Dialogs(150).Show
    
    

    使用ADO操作外部数据

    使用ADO连接外部Excel数据源

    1 在VBE界面中 工具—引用
       勾选Microsoft ActiveX Data Object  x.x  Library 
    2 连接代码
      Sub test()
    Dim conn As New ADODB.Connection
    conn.Open "Provider = Microsoft.ACE.OLEDB.12.0;Data Source=D:\data\data.xlsx;extended properties=""excel 12.0;HDR=YES"""
    ‘这里使用SQL对数据进行操作
    '抓取数据:CopyFromRecordse从数据集中拷贝
    'conn.Execute中执行sql语句
    'data是sheet名称,表使用[sheet名称$]
    
    Range(“a1”).CopyFromRecordset conn.Execute(“select * from [data$]”)
    
    conn.Close
    End Sub
    
    Data Source是要操作的数据地址
    HDR=YES是有表头,取数据表头忽略
    
    

    常用sql语句

    查询数据
    select * from [data$]
    查询某几个字段
    select 姓名,年龄 from [data$]
    带条件的查询
    select * from [data$] where 性别 = '男'
    合并两个表的数据,上下形式
    select * from [data$] union all select * from [data2$]
     插入新纪录
    insert into [data$] (姓名,性别,年龄) values ('AA','男',33) 
    修改一条数据
    update [data$] set 性别=‘男’,年龄=16 where 姓名=‘张三‘
    删除一条数据(不能用),可以通过多加一列,表示不删除,删除时更改值为删除,取得时候where值等于不删除
    delete from [data$]  where 姓名='张三'
    使用LEFT JOIN …ON…  (类似于VLOOKUP)
    select [data3$].姓名,性别,年龄,月薪 from [data$] left join [data3$] on [data$].姓名=[data3$].姓名
    先UNION ALL 再LEFT JOIN
    select * from (select * from [data$] union all select * from [data2$])a left join [data3$] on a.姓名=[data3$].姓名
    将查询结果赋值到数组
    arr = Application.WorksheetFunction.Transpose(conn.Execute("select * from [data$]").GetRows)
    
    

    使用ADO连接外部Access数据源

    1 在VBE界面中 工具—引用
       勾选Microsoft ActiveX Data Objects  x.x  Library 
    2 连接代码
      Sub test()
    Dim conn As New ADODB.Connection
    conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\data\Adata.accdb" 
    ‘这里使用SQL对数据进行操作,[数据表名称],可以使用删除sql语句
    conn.Close
    End Sub
    
    

    附表

    对齐方式

    With Selection
            '水平对齐方式
            .HorizontalAlignment = xlRight 
            '垂直对齐方式
            .VerticalAlignment = xlCenter
            '自动换行
            .WrapText = False
            '文字方向
            .Orientation = 0
            '缩进
            .AddIndent = False
            '缩进量
            .IndentLevel = 0
            '缩小字体填充
            .ShrinkToFit = False
            '文字方向
            .ReadingOrder = xlContext
            '合并单元格
            .MergeCells = False
    End With
    
    

    字体格式

    With Selection.Font
            '字体
            .Name = "华文琥珀"
            '字号
            .Size = 9
            '删除线
            .Strikethrough = False
            '上标
            .Superscript = False
            '下标
            .Subscript = False
            '大纲字体
            .OutlineFont = False
            '阴影
            .Shadow = False
            '下划线
            .Underline = xlUnderlineStyleNone
            '字体颜色
            .ColorIndex = xlAutomatic
            '颜色变深或变浅
            .TintAndShade = 0
            '主题字体
            .ThemeFont = xlThemeFontNone
        End With
    

    填充

    With Selection.Interior
            '图案样式
            .Pattern = xlSolid
            '图案颜色
            .PatternColorIndex = xlAutomatic
            '主体颜色
            .ThemeColor = xlThemeColorDark1
            '颜色变深或变浅
            .TintAndShade = -4.99893185216834E-02
            '填充色
            .Color = 65535
            '对象的淡色和底纹图案
            .PatternTintAndShade = 0
        End With
    

    对话框的值

    名称	值	说明
    xlDialogActivate	103	“激活”对话框
    xlDialogActiveCellFont	476	“活动单元格字体”对话框
    xlDialogAddChartAutoformat	390	“添加图表自动套用格式”对话框
    xlDialogAddinManager	321	“加载项管理器”对话框
    xlDialogAlignment	43	“对齐方式”对话框
    xlDialogApplyNames	133	“应用名称”对话框
    xlDialogApplyStyle	212	“应用样式”对话框
    xlDialogAppMove	170	“AppMove”对话框
    xlDialogAppSize	171	“AppSize”对话框
    xlDialogArrangeAll	12	“全部重排”对话框
    xlDialogAssignToObject	213	“给对象指定宏”对话框
    xlDialogAssignToTool	293	“给工具指定宏”对话框
    xlDialogAttachText	80	“附加文本”对话框
    xlDialogAttachToolbars	323	“附加工具栏”对话框
    xlDialogAutoCorrect	485	“自动校正”对话框
    xlDialogAxes	78	“坐标轴”对话框
    xlDialogBorder	45	“边框”对话框
    xlDialogCalculation	32	“计算”对话框
    xlDialogCellProtection	46	“单元格保护”对话框
    xlDialogChangeLink	166	“更改链接”对话框
    xlDialogChartAddData	392	“图表添加数据”对话框
    xlDialogChartLocation	527	“图表位置”对话框
    xlDialogChartOptionsDataLabelMultiple	724	“图表选项多个数据标签”对话框
    xlDialogChartOptionsDataLabels	505	“图表选项数据标签”对话框
    xlDialogChartOptionsDataTable	506	“图表选项数据表”对话框
    xlDialogChartSourceData	540	“图表源数据”对话框
    xlDialogChartTrend	350	“图表趋势”对话框
    xlDialogChartType	526	“图表类型”对话框
    xlDialogChartWizard	288	“图表向导”对话框
    xlDialogCheckboxProperties	435	“复选框属性”对话框
    xlDialogClear	52	“清除”对话框
    xlDialogColorPalette	161	“调色板”对话框
    xlDialogColumnWidth	47	“列宽”对话框
    xlDialogCombination	73	“组合图”对话框
    xlDialogConditionalFormatting	583	“条件格式”对话框
    xlDialogConsolidate	191	“合并计算”对话框
    xlDialogCopyChart	147	“复制图表”对话框
    xlDialogCopyPicture	108	“复制图片”对话框
    xlDialogCreateList	796	“创建列表”对话框
    xlDialogCreateNames	62	“创建名称”对话框
    xlDialogCreatePublisher	217	“创建发布者”对话框
    xlDialogCustomizeToolbar	276	“自定义工具栏”对话框
    xlDialogCustomViews	493	“自定义视图”对话框
    xlDialogDataDelete	36	“数据删除”对话框
    xlDialogDataLabel	379	“数据标签”对话框
    xlDialogDataLabelMultiple	723	“多个数据标签”对话框
    xlDialogDataSeries	40	“数据系列”对话框
    xlDialogDataValidation	525	“数据有效性”对话框
    xlDialogDefineName	61	“定义名称”对话框
    xlDialogDefineStyle	229	“定义样式”对话框
    xlDialogDeleteFormat	111	“删除格式”对话框
    xlDialogDeleteName	110	“删除名称”对话框
    xlDialogDemote	203	“降级”对话框
    xlDialogDisplay	27	“显示”对话框
    xlDialogDocumentInspector	862	“文档检查器”对话框
    xlDialogEditboxProperties	438	“编辑框属性”对话框
    xlDialogEditColor	223	“编辑颜色”对话框
    xlDialogEditDelete	54	“编辑删除”对话框
    xlDialogEditionOptions	251	“编辑选项”对话框
    xlDialogEditSeries	228	“编辑数据系列”对话框
    xlDialogErrorbarX	463	“误差线 X”对话框
    xlDialogErrorbarY	464	“误差线 Y”对话框
    xlDialogErrorChecking	732	“错误检查”对话框
    xlDialogEvaluateFormula	709	“公式求值”对话框
    xlDialogExternalDataProperties	530	“外部数据属性”对话框
    xlDialogExtract	35	“提取”对话框
    xlDialogFileDelete	6	“文件删除”对话框
    xlDialogFileSharing	481	“文件共享”对话框
    xlDialogFillGroup	200	“填充组”对话框
    xlDialogFillWorkgroup	301	“填充工作组”对话框
    xlDialogFilter	447	“对话框筛选”对话框
    xlDialogFilterAdvanced	370	“高级筛选”对话框
    xlDialogFindFile	475	“查找文件”对话框
    xlDialogFont	26	“字体”对话框
    xlDialogFontProperties	381	“字体属性”对话框
    xlDialogFormatAuto	269	“自动套用格式”对话框
    xlDialogFormatChart	465	“设置图表格式”对话框
    xlDialogFormatCharttype	423	“设置图表类型格式”对话框
    xlDialogFormatFont	150	“设置字体格式”对话框
    xlDialogFormatLegend	88	“图例格式”对话框
    xlDialogFormatMain	225	“设置主要格式”对话框
    xlDialogFormatMove	128	“设置移动格式”对话框
    xlDialogFormatNumber	42	“设置数字格式”对话框
    xlDialogFormatOverlay	226	“设置重叠格式”对话框
    xlDialogFormatSize	129	“设置大小”对话框
    xlDialogFormatText	89	“设置文本格式”对话框
    xlDialogFormulaFind	64	“查找公式”对话框
    xlDialogFormulaGoto	63	“转到公式”对话框
    xlDialogFormulaReplace	130	“替换公式”对话框
    xlDialogFunctionWizard	450	“函数向导”对话框
    xlDialogGallery3dArea	193	“三维面积图库”对话框
    xlDialogGallery3dBar	272	“三维条形图库”对话框
    xlDialogGallery3dColumn	194	“三维柱形图库”对话框
    xlDialogGallery3dLine	195	“三维折线图库”对话框
    xlDialogGallery3dPie	196	“三维饼图库”对话框
    xlDialogGallery3dSurface	273	“三维曲面图库”对话框
    xlDialogGalleryArea	67	“面积图库”对话框
    xlDialogGalleryBar	68	“条形图库”对话框
    xlDialogGalleryColumn	69	“柱形图库”对话框
    xlDialogGalleryCustom	388	“自定义库”对话框
    xlDialogGalleryDoughnut	344	“圆环图库”对话框
    xlDialogGalleryLine	70	“折线图库”对话框
    xlDialogGalleryPie	71	“饼图库”对话框
    xlDialogGalleryRadar	249	“雷达图库”对话框
    xlDialogGalleryScatter	72	“散点图库”对话框
    xlDialogGoalSeek	198	“单变量求解”对话框
    xlDialogGridlines	76	“网格线”对话框
    xlDialogImportTextFile	666	“导入文本文件”对话框
    xlDialogInsert	55	“插入”对话框
    xlDialogInsertHyperlink	596	“插入超链接”对话框
    xlDialogInsertObject	259	“插入对象”对话框
    xlDialogInsertPicture	342	“插入图片”对话框
    xlDialogInsertTitle	380	“插入标题”对话框
    xlDialogLabelProperties	436	“标签属性”对话框
    xlDialogListboxProperties	437	“列表框属性”对话框
    xlDialogMacroOptions	382	“宏选项”对话框
    xlDialogMailEditMailer	470	“编辑邮件发件人”对话框
    xlDialogMailLogon	339	“邮件登录”对话框
    xlDialogMailNextLetter	378	“发送下一信函”对话框
    xlDialogMainChart	85	“主要图”对话框
    xlDialogMainChartType	185	“图表类型”对话框
    xlDialogMenuEditor	322	“菜单编辑器”对话框
    xlDialogMove	262	“移动”对话框
    xlDialogMyPermission	834	“我的权限”对话框
    xlDialogNameManager	977	“名称管理器”对话框
    xlDialogNew	119	“新建”对话框
    xlDialogNewName	978	“新建名称”对话框
    xlDialogNewWebQuery	667	“新建 Web 查询”对话框
    xlDialogNote	154	“注意”对话框
    xlDialogObjectProperties	207	“对象属性”对话框
    xlDialogObjectProtection	214	“对象保护”对话框
    xlDialogOpen	1	“打开”对话框
    xlDialogOpenLinks	2	“打开链接”对话框
    xlDialogOpenMail	188	“打开邮件”对话框
    xlDialogOpenText	441	“打开文本”对话框
    xlDialogOptionsCalculation	318	“计算选项”对话框
    xlDialogOptionsChart	325	“图表选项”对话框
    xlDialogOptionsEdit	319	“编辑选项”对话框
    xlDialogOptionsGeneral	356	“常规选项”对话框
    xlDialogOptionsListsAdd	458	“添加列表选项”对话框
    xlDialogOptionsME	647	“ME 选项”对话框
    xlDialogOptionsTransition	355	“转换选项”对话框
    xlDialogOptionsView	320	“视图选项”对话框
    xlDialogOutline	142	“大纲”对话框
    xlDialogOverlay	86	“覆盖图”对话框
    xlDialogOverlayChartType	186	“覆盖图图表类型”对话框
    xlDialogPageSetup	7	“页面设置”对话框
    xlDialogParse	91	“分列”对话框
    xlDialogPasteNames	58	“粘贴名称”对话框
    xlDialogPasteSpecial	53	“选择性粘贴”对话框
    xlDialogPatterns	84	“图案”对话框
    xlDialogPermission	832	“权限”对话框
    xlDialogPhonetic	656	“拼音”对话框
    xlDialogPivotCalculatedField	570	“数据透视表计算字段”对话框
    xlDialogPivotCalculatedItem	572	“数据透视表计算项”对话框
    xlDialogPivotClientServerSet	689	“设置数据透视表客户机服务器”对话框
    xlDialogPivotFieldGroup	433	“组合数据透视表字段”对话框
    xlDialogPivotFieldProperties	313	“数据透视表字段属性”对话框
    xlDialogPivotFieldUngroup	434	“取消组合数据透视表字段”对话框
    xlDialogPivotShowPages	421	“数据透视表显示页”对话框
    xlDialogPivotSolveOrder	568	“数据透视表求解次序”对话框
    xlDialogPivotTableOptions	567	“数据透视表选项”对话框
    xlDialogPivotTableWizard	312	“数据透视表向导”对话框
    xlDialogPlacement	300	“位置”对话框
    xlDialogPrint	8	“打印”对话框
    xlDialogPrinterSetup	9	“打印机设置”对话框
    xlDialogPrintPreview	222	“打印预览”对话框
    xlDialogPromote	202	“升级”对话框
    xlDialogProperties	474	“属性”对话框
    xlDialogPropertyFields	754	“属性字段”对话框
    xlDialogProtectDocument	28	“保护文档”对话框
    xlDialogProtectSharing	620	“保护共享”对话框
    xlDialogPublishAsWebPage	653	“发布为网页”对话框
    xlDialogPushbuttonProperties	445	“按钮属性”对话框
    xlDialogReplaceFont	134	“替换字体”对话框
    xlDialogRoutingSlip	336	“传送名单”对话框
    xlDialogRowHeight	127	“行高”对话框
    xlDialogRun	17	“运行”对话框
    xlDialogSaveAs	5	“另存为”对话框
    xlDialogSaveCopyAs	456	“副本另存为”对话框
    xlDialogSaveNewObject	208	“保存新对象”对话框
    xlDialogSaveWorkbook	145	“保存工作簿”对话框
    xlDialogSaveWorkspace	285	“保存工作区”对话框
    xlDialogScale	87	“缩放”对话框
    xlDialogScenarioAdd	307	“添加方案”对话框
    xlDialogScenarioCells	305	“单元格方案”对话框
    xlDialogScenarioEdit	308	“编辑方案”对话框
    xlDialogScenarioMerge	473	“合并方案”对话框
    xlDialogScenarioSummary	311	“方案摘要”对话框
    xlDialogScrollbarProperties	420	“滚动条属性”对话框
    xlDialogSearch	731	“搜索”对话框
    xlDialogSelectSpecial	132	“特殊选定”对话框
    xlDialogSendMail	189	“发送邮件”对话框
    xlDialogSeriesAxes	460	“系列坐标轴”对话框
    xlDialogSeriesOptions	557	“系列选项”对话框
    xlDialogSeriesOrder	466	“系列次序”对话框
    xlDialogSeriesShape	504	“系列形状”对话框
    xlDialogSeriesX	461	“系列 X”对话框
    xlDialogSeriesY	462	“系列 Y”对话框
    xlDialogSetBackgroundPicture	509	“设置背景图片”对话框
    xlDialogSetPrintTitles	23	“设置打印标题”对话框
    xlDialogSetUpdateStatus	159	“设置更新状态”对话框
    xlDialogShowDetail	204	“显示明细数据”对话框
    xlDialogShowToolbar	220	“显示工具栏”对话框
    xlDialogSize	261	“大小”对话框
    xlDialogSort	39	“排序”对话框
    xlDialogSortSpecial	192	“选择性排序”对话框
    xlDialogSplit	137	“拆分”对话框
    xlDialogStandardFont	190	“标准字体”对话框
    xlDialogStandardWidth	472	“标准宽度”对话框
    xlDialogStyle	44	“样式”对话框
    xlDialogSubscribeTo	218	“订阅”对话框
    xlDialogSubtotalCreate	398	“创建分类汇总”对话框
    xlDialogSummaryInfo	474	“摘要信息”对话框
    xlDialogTable	41	“表”对话框
    xlDialogTabOrder	394	“Tab 键次序”对话框
    xlDialogTextToColumns	422	“分列”对话框
    xlDialogUnhide	94	“取消隐藏”对话框
    xlDialogUpdateLink	201	“更新链接”对话框
    xlDialogVbaInsertFile	328	“VBA 插入文件”对话框
    xlDialogVbaMakeAddin	478	“VBA 创建加载项”对话框
    xlDialogVbaProcedureDefinition	330	“VBA 过程定义”对话框
    xlDialogView3d	197	“三维视图”对话框
    xlDialogWebOptionsBrowsers	773	“Web 浏览器选项”对话框
    xlDialogWebOptionsEncoding	686	“Web 编码选项”对话框
    xlDialogWebOptionsFiles	684	“Web 文件选项”对话框
    xlDialogWebOptionsFonts	687	“Web 字体选项”对话框
    xlDialogWebOptionsGeneral	683	“Web 常规选项”对话框
    xlDialogWebOptionsPictures	685	“Web 图片选项”对话框
    xlDialogWindowMove	14	“窗口移动”对话框
    xlDialogWindowSize	13	“窗口大小”对话框
    xlDialogWorkbookAdd	281	“添加工作簿”对话框
    xlDialogWorkbookCopy	283	“复制工作簿”对话框
    xlDialogWorkbookInsert	354	“插入工作簿”对话框
    xlDialogWorkbookMove	282	“移动工作簿”对话框
    xlDialogWorkbookName	386	“命名工作簿”对话框
    xlDialogWorkbookNew	302	“新建工作簿”对话框
    xlDialogWorkbookOptions	284	“工作簿选项”对话框
    xlDialogWorkbookProtect	417	“保护工作簿”对话框
    xlDialogWorkbookTabSplit	415	“拆分工作簿标签”对话框
    xlDialogWorkbookUnhide	384	“取消隐藏工作簿”对话框
    xlDialogWorkgroup	199	“工作组”对话框
    xlDialogWorkspace	95	“工作区”对话框
    xlDialogZoom	256	“缩放”对话框
    
    
    展开全文
  • 来源:常见字典用法集锦及代码详解
  • 《AutoCAD VBA二次开发教程》,是2006年出版的图书,作者是张帆。本书以AutoCAD 2005中文版为开发平台,通过73个精彩的编程实例,向读者展示了AutoCAD VBA开发的高级技术。 1图书信息 中文名:AutoCAD VBA二次开发...
  • 最近代码多是出自”VBA数组与字典解决方案”教程,有一些朋友反映分享的内容不能很好的理解,可以参考这套资料的内容进行研读。今日分享的是第275期。 VBA过程代码275:利用数组和字典完成两个条件查询 Sub MyNZ () ...
  • 最近代码多是出自”VBA数组与字典解决方案”教程,有一些朋友反映分享的内容不能很好的理解,可以参考这套资料的内容进行研读。今日分享的是第272期。 VBA过程代码272:利用字典,进行单条件匹配查询 Sub MyNZ () ...
  • 但是我翻了有四五本VBA教程相关的书,里面都没有介绍到字典,数组到是在介绍数据类型时有介绍,而并没有提到字典。 事实上,字典不是VBA内置的类型,它是Windows脚本语言的。但其实字典VBA中也是非常重要的,它...
  • VBA从入门到精通

    2019-01-30 16:28:06
    VBA从入门到精通,章节清晰易懂,非常完善的教程,还可以当随身笔记和字典
  • Excel VBA视频教程20集+PPT课件 完整版

    千次阅读 2019-09-26 10:03:45
    教程目录 01 课程介绍-什么是VBA 02 第一次编写代码-for 03 使用IF进行逻辑判断 04 操作工作表 05 操作工作薄 06 操作单元格对象1 07 操作单元格对象2 08 VBA事件与典型应用 09 在VBA中使用...
  • VBA中的字典类型需要添加Microsoft Scripting Runtime引用,在Tools菜单下添加 Sub testDic() Dim strV As String Dim key As String key = "name" Dim value As String value = "关羽" Dim dic A...
  • 大家好,我们今日讲解"VBA信息获取与处理"教程中第十六个专题"将Excel信息传递给Powerpoint及文本文件"的第四节"将txt数据信息输出到excel文件",这个专题是非常实用的知识点,希望大家能掌握利用。教程会提供配套的...
  • VBA数组使用

    2019-01-19 17:00:07
    数组和字典也是VBA的常用到数据类型之一...但是我翻了有四五本VBA教程相关的书,里面都没有介绍到字典,数组到是在介绍数据类型时有介绍,而并没有提到字典。 事实上,字典不是VBA内置的类型,它是Windows脚本语言的。
  • excel VBA编程番外篇(字典+正则表达式+FSO) Office培训讲...
  • VBA教学视频

    千次阅读 2018-11-26 14:53:00
    全民一起VBA视频笔记 基础篇: 视频地址 https://study.163.com/course/courseLearn.htm?courseId=1003088001#/learn/video?lessonId=1003503026&amp;amp;amp;amp;amp;amp;courseId=1003088001 子过程 无...
  • 这是系列免费教程《Excel VBA:办公自动化》,还是老规矩,看看我们走到哪里了。1.认识VBA:什么是VBA?2.这些掌握了,你才敢说自己懂VBA3.VBA变量5年踩坑吐血精华总结4...
  • VBA 类模块理解和使用总结

    千次阅读 2021-04-19 18:52:59
    VBA 类模块理解和使用总结 一、类的概念 记得有人总结,VBA是基于面向对象(OOP)的编程语言,而java是完全面向对象的编程语言,为了更好地理解面向对象,去学习了一下java,现在回过来看VBA的面向对象特性就比较好...
  • VBA常用技巧(1-10)

    2014-07-22 14:50:55
    非常不错的VBA学习资料,里面介绍了VBA的基础知识,使用技巧,分功能介绍,可以作为日常查看字典,很多功能实现,有完整代码。
  • 大家好,我们今日讲解“VBA信息获取与处理”教程中第十七个专题“文件及文件夹信息的获取及操作”的第一节“判断文件及文件夹是否存在”,这个专题是非常实用的知识点,希望大家能掌握利用。教程会提供配套的程序...
  • Excel VBA 操作 Word(入门篇)

    万次阅读 多人点赞 2018-07-03 13:14:56
    原文地址本文的对象是:有一定Excel VBA基础,对Word VBA还没有什么认识,想在Excel中通过VBA操作Word还有困难的人。 一、新建Word引用需要首先创建一个对 Word Application 对象的引用。在VBA中,工具-引用,选取...
  • 王佩丰VBA学习笔记

    千次阅读 2020-11-02 17:26:43
    VBA笔记 王佩丰VBA学习笔记 (按照课程分类) for循环 for i = a to b next (先 dim) Sub gzt() Rows(“1:1”).Select Dim i As Integer For i = 1 To 10 Selection.Copy ActiveCell.Offset(2, 0).Rows(“1:1”)....
  • 大家好,在上两讲中讲了类模块的调试行为,对于我们写代码人员来讲,要充分地理解每个知识点的概念,才能在实际工作中灵活运用,在我的第一套教程VBA代码解决方案》中,我推出的是一种积木编程的思想,要求大家...
  • 大家好,我们今日讲解“VBA信息获取与处理”教程中第九个专题“利用IE抓取网络数据”的第三节“利用IE,抓取解禁股票数据”,这个专题是非常有用的知识点,希望大家掌握。第四节 利用IE,抓取解禁股票数据大家好,这...

空空如也

空空如也

1 2 3 4 5 ... 18
收藏数 358
精华内容 143
关键字:

vba字典教程