精华内容
下载资源
问答
  • 1).Value, p1, p2 - p1 + 1) tempstr = Right(Cells(i, 1).Value, length - p2 - 1) p1 = InStr(tempstr, “[”) p2 = InStr(tempstr, “]”) Cells(i + 3, 1).Value = Mid(tempstr, p1, p2 - p1 + 1) length = Len...

    Sub matclear()

    Dim matname(1000) As String
    Dim p1 As Integer
    Dim p2 As Integer
    Dim i As Integer
    Dim length As Integer
    Dim tempstr As String
    i = 1
    Do
    If i = 1 Then
    p1 = InStr(Cells(i, 1), “[”)
    p2 = InStr(Cells(i, 1), “]”)
    matname(i) = Mid(Cells(i, 1), p1 + 1, p2 - p1 - 1)
    'MsgBox matname(i)
    End If

    If InStr(Cells(i, 1).Value, “[”) <> 0 And i <> 1 Then

    Cells(i + 1, 1).Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    length = Len(Cells(i, 1))
    p1 = InStr(Cells(i, 1), “[”)
    p2 = InStr(Cells(i, 1), “]”)
    Cells(i, 2).Value = Left(Cells(i, 1).Value, p1 - 1)
    Cells(i + 1, 1).Value = Mid(Cells(i, 1).Value, p1, p2 - p1 + 1)
    tempstr = Right(Cells(i, 1).Value, length - p2 - 1)
    p1 = InStr(tempstr, “[”)
    p2 = InStr(tempstr, “]”)
    Cells(i + 3, 1).Value = Mid(tempstr, p1, p2 - p1 + 1)
    length = Len(tempstr)
    Cells(i + 4, 1).Value = Right(tempstr, length - p2)
    Cells(i, 1).Value = Cells(i, 2).Value
    i = i + 3
    End If

    i = i + 1
    If i = 20000 Then
    MsgBox “complete!”
    Exit Do
    End If
    Loop

    End Sub

    展开全文
  • AUTOCAD VBA 常用函数

    2015-10-11 15:58:59
    AUTOCAD VBA开发中常用的一些自定义函数,辅助解决开发中的问题,资源来源于网络,希望对学习有帮助。
  • Left、Right和Mid函数 Len函数 示例 在实际工作中,经常需要从身份证号码中提取各种信息。如图所示,如何利用VBA提取A列身份证号码中的性别信息,并存储入B列中? 身份证号码 性别 110221290815224 女 ...

    目录

    示例

    实现代码

    Left、Right和Mid函数

    Len函数


    示例

        在实际工作中,经常需要从身份证号码中提取各种信息。如图所示,如何利用VBA提取A列身份证号码中的性别信息,并存储入B列中?

    身份证号码性别
    110221290815224
    11010119700626551X

     

    实现代码

    Option Explicit
    
    Sub 判断性别()
        Dim RowN As Long
        Dim sIDNo As String
        Dim iGenderNo As Integer
        For RowN = 2 To Cells(Rows.Count, "A").End(xlUp).Row
            '获取身份证号码
            sIDNo = Cells(RowN, 1).Value
            '判断身份证位数
            Select Case Len(sIDNo)
                Case 18
                    '提取第17位
                    iGenderNo = Int(Mid(sIDNo, 17, 1))
                Case 15
                    '提取最后一位
                    iGenderNo = Int(Mid(sIDNo, 15, 1))
                Case Else
                    iGenderNo = -1
            End Select
            Select Case iGenderNo Mod 2
                '偶数为女
                Case 0
                    Cells(RowN, 2).Value = "女"
                Case 1
                    Cells(RowN, 2).Value = "男"
                Case -1
                    Cells(RowN, 2).Value = "号码有误"
            End Select
        Next
    End Sub
    

    Left、Right和Mid函数

        当需要获取某个文本中的字符时,可以使用Left、Right或Mid函数。Left函数是从被提取的文本(字符串)最左边起提取指定长度的字符,Right函数则是从被提取的文本(字符串)最右边起提取指定长度的字符,而Mid函数是从被提取的文本(字符串)最左边起的指定位置提取指定长度的字符。这三个函数的语法为

    Left(string,length)
    Right(string,length)
    Mid(string,start[,length])

        其中,参数string为被提取的文本(字符串),length为所要提取的字符串长度,Mid函数中的start参数为提取字符串在被提取的字符串的起始位置。
        本例中,对15位的身份证号码是提取最后一位数字作为性别信息字符,因而可以使用Right函数进行提取。18位身份证号码提取的是第1 7位数字作为信息字符,该字符既不以最左端为开始,也不以最右端为结束,则应使用Mid函数从第17位字符开始提取1位。

    Len函数

        由于15位身份证号码和18位身份证号码的提取规则不同,因而需要先将这两类号码进行区分。本例中使用了Len函数对字符串的长度进行了预先判断,然后分别进行不同的处理。Len函数可以返回某个文本字符串的长度,其语法为

    Len(string)

    其中,参数string为文本字符串。
     

    展开全文
  • Sub excel连接数据库()  Dim Con As New ADODB.Connection  Dim strCon As String  Dim rs As ADODB.Recordset '设置记录集  Dim i, t    t = Timer    strCon = " Provider=Microsoft.AC
    Option Explicit
    


    Sub excel连接数据库()




        Dim Con As New ADODB.Connection
        Dim strCon, strsql As String
        Dim rs As ADODB.Recordset  '设置记录集
        Dim i, t
        
        t = Timer
       
        strCon = " Provider=Microsoft.ACE.OLEDB.12.0;" & _
                    "Data Source= C:\Users\Administrator\Desktop\a1.xlsx" & _
                    ";Extended Properties=""Excel 12.0;HDR=True"";"
       
       


        strsql = "select a.id,a.firstname,b.lastname from [a1$] a left join [Excel 8.0;hdr=1;imex=1;Database=C:\Users\Administrator\Desktop\a2.xlsx].[a2$] b  on a.id=b.id"
       
        Con.Open strCon
        
        Set rs = Con.Execute(strsql)
        
        
        For i = 0 To rs.Fields.Count - 1 '逐个字段
            Cells(3, i + 3) = rs.Fields(i).Name '取字段名  字头放置在cell(3,3)
        Next i
        
        Cells(4, 3).CopyFromRecordset rs
         
        rs.Close
        Con.Close
        
        Set rs = Nothing
        Set Con = Nothing
        
        MsgBox "提取完毕" & "耗时" & Round(Timer - t, 4) & "秒"
        
    End Sub

    展开全文
  • VBA与数据库

    2015-11-19 18:07:38
    •实例3-36 多表查询(右外连接 RIGHT OUTER JOINT) 102 •实例3-37 多表查询(子查询WHERE,ANY,SOME) 103 •实例3-38 多表查询(子查询EXISTS,NOT EXISTS) 105 •实例3-39 从两个数据表中查询出都存在的记录 ...
  • 自动生成VBA窗体菜单

    2010-08-16 15:23:46
    自动生成VBA窗体菜单 '*************************** '* 菜单类 * '*************************** Option Explicit Private WithEvents MenuBar_MenuItem As MSForms.Label '菜单项 Private WithEvents WorkForm As...
  • You have taken the right step by purchasing this book. We can help you reduce the learning curve so that you can write your own VBA macros and put an end to the burden of generating reports manually. ...
  • "Mastering VBA for Microsoft Office 2016" helps you extend the capabilities... If you're ready to begin exploring the possibilities, "Mastering VBA for Microsoft Office 2016" gets you started right away.
  • 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	“缩放”对话框
    
    
    展开全文
  • 学习资源:《全民一起VBA基础篇(Excel数据处理)》 杨洋老师一. VBA界面操作​ 调出开发工具 依次点击“文件”->“选项”->“自定义功能区”,在右侧主选项卡下面的选项中,找到“开发工具”,在前面的小框打勾...
  • VBA常用代码合集

    千次阅读 多人点赞 2020-12-19 11:13:11
    VBA常用代码模版Tp0️⃣—零零散散小功能(持续更新)Tp1️⃣—输出活动页面筛选后的行数Tp2️⃣—创建数组存放数据Tp2-1 静态数组Tp2-2 动态数组Tp3️⃣ 创建字典存放数据Tp4️⃣ 优化代码运行速度 Tp0️⃣—零零散...
  • VBA EXCEL 心得总结

    2021-07-12 11:21:42
    好长时间不用VBA,遗忘的厉害,花时间总结一下。 VBA挺简单的,有java或编码基础的人,上手很快的。 总结:(日文操作系统为例) 1.新建exel文件,后缀为.xlsx或其他,打开excel文档,文件另存为.xlsm格式的excel...
  • VBA基础知识

    千次阅读 2019-11-12 14:18:36
    VBA入门学习笔记本关键词:VB、VBA、Microsoft office、excel、access、PowerPoint1.VBA的基本概念2 数据类型2.1 VBA基本数据类型2.2 VBA自定义的数据类型3 VBA常量3.1 VBA系统定义常量3.2 VBA固有常量3.2 VBA符号...
  • Excel VBA编程

    万次阅读 多人点赞 2019-04-11 16:45:51
    文章目录如何创建VBAVBA语法规则声明变量给变量赋值让变量存储的数据参与运算关于声明变量的其他知识变量的作用域特殊的变量——数组声明多维数组声明动态数组其他创建数组的方法数组函数利用UBound求数组的最大索引...
  • 获取当前文件夹的名称(CurDir 函数)当你使用文件时,经常会需要知道当前文件夹的名称,你使用CurDir函数轻易地获取该信息:CurDir([drive])Drive是一可选参数,如果你忽略它,VBA将使用当前驱动(drive)。CurDir函数...
  • 如何在VBA中使用正则表达式

    千次阅读 2019-05-26 11:56:56
    VBA中的正则表达式应用  在VBA中使用正则表达式,可以通过下列途径实现: 创建正则表达式对象: 前期绑定: 在VBA代码编辑器中的"Tools"菜单中,选中"References…",然后引用Microsoft VBScript Regular ...
  • VBA】Excel VBA解析地址,提取省市区 excel中只有详细地址,需要将详细地址解析出省市区三级行政区划。 Excel 版本:2007 无内置编码函数,需自定义: '自定义对字段串编码的函数 Public Function UrlEncode(ByRef...
  • word——VBA编程

    万次阅读 2019-08-23 14:03:54
    一个一个手动操作真的太low了,所以研究了一下word的宏,VBA编写代码,批量操作。 Sub 批量操作WORD() Dim path As String Dim FileName As String Dim worddoc As Document Dim MyDir As String MyDir = "...
  • vba模拟键盘鼠标操作和窗口激活

    千次阅读 2020-05-01 17:51:09
    LEFTUP = &H4 Public Const MOUSEEVENTF_RIGHTDOWN = &H8 Public Const MOUSEEVENTF_RIGHTUP = &H10 Public Const MOUSEEVENTF_MIDDLEDOWN = &H20 Public Const MOUSEEVENTF_MIDDLEUP = &H40 Public Const ...
  • 一、背景 导出的excel中只有详细地址,需要将详细地址解析出省市区三级行政区划 ... szTemp = "1110" & Left$(szBin, 4) & "10" & Mid$(szBin, 5, 6) & "10" & Right$(szBin, 6) For iCount2 = 1 ...
  • 王佩丰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 Treeview的一些功能。大多数选项可以在运行和更新 Treeview 属性时更改。在 Treeview 运行时更改 紫色 复选框将导致清除并重新创建 Treeview。 1.2 按钮说明 按钮标题 项 描述 ...
  • VBA函数

    2021-05-15 12:35:46
    文章目录VBA的函数excel函数对应的vba函数countavlookupexcel特有函数和vba特有函数vba 字符串函数instrsplitvba 常用函数错误处理控制输入的格式自己写函数带参数的sub代码复用 没完成的任务:张三李四登录p=8 VBA...
  • VBA中调用Windows API的方法

    千次阅读 2019-10-08 17:52:14
    VBA中使用Windows API VBA是一种强大的编程语言,可用于自定义Microsoft Office解决方案。通过使用VBA处理一个或多个Office应用程序对象模型,可以容易地修改Office应用程序的功能或者能够使两个或多个Office应用...
  • Excel VBA开发自动发送邮件

    万次阅读 多人点赞 2017-04-27 17:37:33
    若没有做如下操作设置,则Excel VBA调用Outlook自动发送邮件时提示如下 2.1 Outlook->工具->信任中心 2.2 编程访问->选中”从不向我发出可疑活动警告(不推荐)“,注意:建议使用Excel VBA自动发送...
  • Word VBA-图片操作汇总

    2021-05-28 09:38:43
    pgCount = pg.Range.InlineShapes.Count If pgCount > 0 Then With pg .Range.Select Selection.MoveUp unit:=wdParagraph, Extend:=wdMove Selection.MoveRight unit:=wdCharacter, Count:=1, Extend:=...
  • vba字符串函数汇总

    千次阅读 2020-05-31 11:55:49
    Ltrim(string)去掉string左端空格 Rtrim(string)去掉string右端空格 3、Left(string, x)取string左段x个字符组成的字符串 例 i = Left("123456",3) i返回 "123" 4、Right(string, x)取string右段x个字符组成的字符...
  • I'm trying to run a python script from my VBA module. I've tried pretty much every example I've seen on the internet and so for have had no luck.In the VBA module I also run a .bat file, and it works ...
  • VBA基础知识整理

    万次阅读 多人点赞 2017-12-16 17:05:54
    最近由于项目的需要,需要在Excel自定义一些函数,来完成特殊的处理,为了完成工作,就囫囵吞枣的写了一些代码,现在闲暇下来,就好好的学习一下,VBA的基础知识。1.变量 1.Dim <<variable_name>> As ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,421
精华内容 1,368
关键字:

rightvba