精华内容
下载资源
问答
  • VBA-ThisWorkbook.Path

    千次阅读 2019-03-28 09:16:12
    Workbooks.Open ("C:\对账单\对帐单.xlsx") 这里你可以把“C:\对账单\”换成你的...你可以用:a = ThisWorkbook.Path a = ThisWorkbook.Path Workbooks.Open ("" & a & "&" \ "&对帐单.xlsx") ...


    Workbooks.Open ("C:\对账单\对帐单.xlsx")

    这里你可以把“C:\对账单\”换成你的绝对路径,

    你可以用:a = ThisWorkbook.Path

    a = ThisWorkbook.Path

    Workbooks.Open ("" & a & "&" \ "&对帐单.xlsx")

    展开全文
  • VBA 更新ThisWorkbook模块的内容

    千次阅读 2015-09-10 10:13:48
    最近需要更新一些老旧的excel里面的vba脚本,即:将同一段VBA代码,分别复制到N个不同的excel工作簿内的ThisWorkbook模块中,思路时先删除里面的脚本,然后再插入新的脚本。

    作者:lianghc

          最近需要更新一些老旧的excel里面的vba脚本,即:将同一段VBA代码,分别复制到N个不同的excel工作簿内的ThisWorkbook模块中,思路时先删除里面的脚本,然后再插入新的脚本。

    更新ThisWorkbook模块的内容

    Sub updateWbkCode()
    Dim dirtemp As String
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Application.EnableEvents = False
    
    newcode = Replace("sub test()|msgbox ""hello word!""|end sub", "|", Chr(10))
    dirtemp = Dir(ThisWorkbook.Path & "\*.xls")
    Do While dirtemp <> ""
      If dirtemp <> ThisWorkbook.Name Then
         Workbooks.Open ThisWorkbook.Path & "\" & dirtemp
         With ActiveWorkbook.VBProject.VBComponents("Thisworkbook").CodeModule
            .DeleteLines 1, .CountOfLines  '删除旧脚本
            ActiveWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule.AddFromString newcode    '写入新脚本
          End With
            ActiveWorkbook.Close True
      End If
    dirtemp = Dir
    Loop
    Application.EnableEvents = True
    Application.ScreenUpdating = True
    End Sub

    附:excelhome 论坛中清除和写入ThisWorkbook模块脚本:

    清除ThisWorkbook模块的内容

    首先设置:工具——选项——宏安全性——可靠发行商——勾选信任对“Visual Basic 项目”的访问

    Sub RemoveWbkCode()
        Dim itm As String
        Application.ScreenUpdating = False
        Application.DisplayAlerts = False
        Application.EnableEvents = False
        itm = Dir(ThisWorkbook.Path & "\*.xls")
        Do While itm <> ""
            If itm <> ThisWorkbook.Name Then
                Workbooks.Open ThisWorkbook.Path & "\" & itm
                With ActiveWorkbook.VBProject.VBComponents("thisworkbook").CodeModule
                    .DeleteLines 1, .CountOfLines
                End With
                ActiveWorkbook.Close True
            End If
            itm = Dir
        Loop
        Application.EnableEvents = True
        Application.ScreenUpdating = True
    End Sub

    写入内容到ThisWorkbook模块

    Sub WriteWbkCode()
    Dim a()
    ReDim a(1000)
    s = Replace("sub bb()|msgbox ""Test""|end sub", "|", Chr(10))
    MyName = Dir(ThisWorkbook.Path & "\*.xls")
    Do While MyName <> ""
      If MyName <> ThisWorkbook.Name Then a(i) = ThisWorkbook.Path & "\" & MyName: i = i + 1
      MyName = Dir
    Loop
    Application.DisplayAlerts = False
    Application.Visible = False
    For j = 0 To i - 1
      With Workbooks.Open(a(j))
         .VBProject.VBComponents("ThisWorkbook").CodeModule.AddFromString s '写入
         .Save
         .Close
      End With
    Next
    Application.DisplayAlerts = True
    Application.Visible = True
    End Sub
    



    展开全文
  • 一周前给大家介绍过一种不用VBA就能实现汇总的方法,今天给大家介绍一下用VBA进行操作的汇总。我用的还是一周前的素材:汇总的目标是把各个省市的表汇总到一张表上,用VBA最终的操作非常简单,点个按钮的事,但编程...
    一周前给大家介绍过一种不用VBA就能实现汇总的方法,今天给大家介绍一下用VBA进行操作的汇总。

    我用的还是一周前的素材:

    f4577e85fdb46872fc76d0275be7ce46.png

    汇总的目标是把各个省市的表汇总到一张表上,用VBA最终的操作非常简单,点个按钮的事,但编程要花点时间,如果这个汇总是周而复始或量比较大,建议用VBA编程,但如果量少且偶尔发生就按之前的方法做就可以了。先看效果,是不是很帅,就点了下按钮而已。

    ab69a6d66d785c68b646b2e0991c3d27.gif

    步骤其实很简单,跟着我来操作:1.在各省市的文件夹下面新建一个新的工作簿,然后ALT+F11打开VBA编程界面,记得把这个工作簿一定要设为启用宏的工作簿,文件后缀名是xlsm就没错了。

    2.然后选择插入-模块,双击模块,在弹出的框里输入以下程序。

    1d0977c37abc30302325605e0a92f875.png

    其实这段代码的基础是在网上找的,然后根据我的底稿做了修改,我基本也在个程序语句后面都做了注释,也就是紫色的汉字。其实VBA没有想象的复杂,会一些简单的语句之后,其实是可以借助网上的一些资源加以修改后就能使用的,具体如下所示:

    Sub 汇总各省市()

        Dim r As Long

        r = 1 '标题行

        Range(Cells(r + 1, "A"), Cells(Rows.Count, "B")).ClearContents  

     '清除数据后再复制,以免产生错误

        Application.ScreenUpdating = False 

    '这个就是个关闭屏幕更新的,从名称也能看出来,主要是提高效率,省的晃眼睛,没啥实际操作动作

        Dim filename As String, wb As Workbook, sht As Worksheet, erow _As Long, fn As String, arr As Variant

    '对各变量的类型进行定义,主要是有些是文本,有些是数字等等,作用不同

        filename = Dir(ThisWorkbook.Path & "\*.xls")

    '确定汇总表所在工作簿的文件夹路径,限定程序的范围

        Do While filename <> ""

            If filename <> ThisWorkbook.Name Then

    '判断文件是否为程序所在工作簿,不是的话就继续操作

                erow = Range("A1").CurrentRegion.Rows.Count + 1

    '这个是要找到从A1单元格连续的区域的最后一行后再加1,那就是非空行第一行

                fn = ThisWorkbook.Path & "\" & filename

                Set wb = GetObject(fn)

    '将fn代表的工作簿对象赋给变量

                Set sht = wb.Worksheets(1)

    '汇总到第一张工做表

                arr = sht.Range(sht.Cells(r + 1, "A"), sht.Cells(Rows.Count, _"B").End(xlUp).Offset(0, 2))

    '将数组arr中的数据写入工作表

                Cells(erow, "A").Resize(UBound(arr, 1), UBound(arr, 2)) = arr

    '给下一个赋值提供新的粘贴的位置信息,这样就能把各个文件中内容挨个填入汇总工作簿的工作表1中

                wb.Close False

            End If

            filename = Dir

        Loop

        Application.ScreenUpdating = True '打开屏幕更新

    End Sub

    3.加一个按钮,插入一个对象就行,比如图形、个人美照,开发工具中的按钮也行,反正看个人爱好,我就是插入-形状、选了个长方形,然后点击图形图片,鼠标点击右键选择指定宏,找到程序的名称“汇总各省市”选中,点击下方确定按钮就可以了。

    72aaeb498c4ac01d8631b47582a09d87.png

    如果感觉这篇文章有意思,欢迎点赞和转发
    展开全文
  • (1) Option Explicit '强制对模块内所有变量进行声明(2) Option Base 1 '指定数组的第一个下标为1(3) On Error Resume Next '忽略错误继续执行VBA代码,避免出现错误消息(4) On Error GoTo 100 '当错误发生时跳转到...

    (1) Option Explicit '强制对模块内所有变量进行声明
    (2) Option Base 1 '指定数组的第一个下标为1
    (3) On Error Resume Next '忽略错误继续执行VBA代码,避免出现错误消息
    (4) On Error GoTo 100 '当错误发生时跳转到过程中的某个位置
    (5) On Error GoTo 0 '恢复正常的错误提示
    (6) Application.DisplayAlerts=False '在程序执行过程中使出现的警告框不显示 
    (7) Application.DisplayAlerts=True '在程序执行过程中恢复显示警告框
    (8) Application.ScreenUpdating=False '关闭屏幕刷新
    (9) Application.ScreenUpdating = True '打开屏幕刷新
    (10)  Workbooks.Add() '创建一个新的工作簿


    (11)  Workbooks(“book1.xls”).Activate '激活名为book1的工作簿
    (12) ThisWorkbook.Save '保存工作簿
    (13) ThisWorkbook.close '关闭当前工作簿
    (14)  ActiveWorkbook.Sheets.Count '获取活动工作薄中工作表数
    (15)  ActiveWorkbook.name  '返回活动工作薄的名称
    (16) ThisWorkbook.Name ‘返回当前工作簿名称
    (17) ThisWorkbook.FullName ‘返回当前工作簿路径和名
    (18) ActiveSheet.UsedRange.Rows.Count ‘当前工作表中已使用的行数
    (19) Rows.Count ‘获取工作表的行数(注:考虑兼容性)
    (20)  Sheets(Sheet1).Name= “Sum” '将Sheet1命名为Sum


    (21)  ThisWorkbook.Sheets.Add Before:=Worksheets(1) '添加一个新工作表在第一工作表前
    (22)  ActiveSheet.Move After:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count) '将当前工作表移至工作表的最后
    (23)  Worksheets(Array(“sheet1”,”sheet2”)).Select '同时选择工作表1和工作表2
    (24)  Sheets(“sheet1”).Delete或 Sheets(1).Delete '删除工作表1
    (25)  ActiveSheet.UsedRange.FormatConditions.Delete ‘删除当前工作表中所有的条件格式
    (26)  Cells.Hyperlinks.Delete ‘取消当前工作表所有超链接
    (27) ActiveCell.CurrentRegion.Select选择当前活动单元格所包含的范围,等同于快捷键Ctrl+A
    (28)  Cells.Select ‘选定当前工作表的所有单元格
    (29)  Range(“A1”).ClearContents '清除活动工作表上单元格A1中的内容。Selection.ClearContents '清除选定区域内容。Range(“A1:D4”).Clear '彻底清除A1至D4单元格区域的内容,包括格式。

    (30)  Cells.Clear '清除工作表中所有单元格的内容


    (31) ActiveCell.Offset(1,0).Select '活动单元格下移一行,同理,可下移一列
    (32)  Range(“A1”).Copy Range(“B1”) '复制单元格A1,粘贴到单元格B1中
    (33) Range(“A1:D8”).Copy Range(“F1”) '将单元格区域复制到单元格F1开始的区域中
    (34) Range(“A1:D8”).Cut Range(“F1”) '剪切单元格区域A1至D8,复制到单元格F1开始的区域中
    (35) Range(“A1”).CurrentRegion.Copy Sheets(“Sheet2”).Range(“A1”) '复制包含A1的单元格区域到工作表2中以A1起始的单元格区域中。
    (36) ActiveWindow.RangeSelection.Count '活动窗口中选择的单元格数
    (37)  Selection.Count '当前选中区域的单元格数
    (38) Range(“A1”).Interior.ColorIndex ‘获取单元格A1背景色
    (39)  cells.count ‘返回当前工作表的单元格数
    (40) Range(“B3”).Resize(11, 3)

    (41) Union(Range(“A1:A9”),Range(“D1:D9”)) 区域连接
    (42) Intersect(Range(“A1:B9”),Range(“A1:D9”))) ‘返回的交叉区域
    (43)  Selection.Columns.Count ‘当前选中的单元格区域中的列数
    (44) Selection.Rows.Count ‘当前选中的单元格区域中的行数
    (45) ActiveSheet.UsedRange.Row  ‘获取单元格区域中使用的第一行的行号
    (46)  Application.WorksheetFunction.IsNumber(“A1”) '使用工作表函数检查A1单元格中的数据是否为数字
    (47) Range(“A:A”).Find(Application.WorksheetFunction.Max(Range(“A:A”))).Activate'激活单元格区域A列中最大值的单元格
    (48) MsgBox “Hello!” '消息框中显示消息Hello
    (49) Ans=MsgBox(“Continue?”,vbYesNo) '在消息框中点击“是”按钮,则Ans值为vbYes;点击“否”按钮,则Ans值为vbNo。
    (50)  Userform1.Show ‘显示用户窗体


    (51) Load Userform1 ‘加载一个用户窗体,但该窗体处于隐藏状态
    (52)  Userform1.Hide ‘隐藏用户窗体
    (53) Unload Userform1 或 Unload Me ‘卸载用户窗体
    (54) UserForm1.Show 0‘将窗体设置为无模式状态
    (55)  Application.EnableEvents=False '禁用所有事件
    (56) Application.EnableEvents = True '启用所有事件
    (57) Set d = CreateObject(Scripting.Dictionary) ‘创建一个 Dictionary 对象变量
    (58)  d.Add "a", "Athens" '为对象变量添加关键字和条
    (59)  Application.OnKey “^I”,”macro” '设置Ctrl+I键为macro过程的快捷键
    (60)  Application.CutCopyMode=False ‘退出剪切/复制模式


    (61)  Application.Volatile True '无论何时工作表中任意单元格重新计算,都会强制计算该函数
    (62) Application.Volatile False '只有在该函数的一个或多个参数发生改变时,才会重新计算该函数
    (63)  Err.Clear ‘清除程序运行过程中所有的错误
    (64) Workbooks.Close ‘关闭所有打开的工作簿
    (65) ActiveWorkbook.Path ‘返回当前工作簿的路径(注:若工作簿未保存,则为空)
    (66) ActiveWorkbook.Saved ‘返回工作簿的存储值(若已保存则为False)
    (67) Application.Visible = False ‘隐藏工作簿
    (68) Application.Visible = True ‘显示工作簿
    (69)  ActiveSheet.Columns("B").Insert ‘在A列右侧插入列,即插入B列

    (70) ActiveSheet.Columns("E").Cut  

    (71) ActiveSheet.Columns("B").Insert  70,71两句将E列数据移至B列,原B列及以后的数据相应后移
    (72) ActiveSheet.Calculate ‘计算当前工作表
    (73) ThisWorkbook.Worksheets(“sheet1”).Visible=xlSheetHidden ‘正常隐藏工作表,同在Excel菜单中选择“格式——工作表——隐藏”操作一样
    (74) ThisWorkbook.Worksheets(“sheet1”).Visible=xlSheetVeryHidden ‘隐藏工作表,不能通过在Excel菜单中选择“格式——工作表——取消隐藏”来重新显示工作
    (75) ThisWorkbook.Worksheets(“sheet1”).Visible=xlSheetVisible ‘显示被隐藏的工作表
    (76)  ThisWorkbook.Sheets(1).ProtectContents ‘检查工作表是否受到保护
    (77)  ThisWorkbook.Worksheets.Add Count:=2, Before:=ThisWorkbook.Worksheets(2) 或 ThisWorkbook.Workshees.Add ThisWorkbook.Worksheets(2), , 2  ‘在第二个工作表之前添加两个新的工作表
    (78) ThisWorkbook.Worksheets(3).Copy ‘复制一个工作表到新的工作簿
    (79)  ThisWorkbook.Worksheets(3).Copy ThisWorkbook.Worksheets(2) ‘复制第三个工作表到第二个工作表之前
    (80) ThisWorkbook.Worksheets(1).Activate ‘当前工作簿中的第一个工作表被激活

    (81)  ThisWorkbook.Worksheets("Sheet1").Rows(1).Hidden = True ‘将工作表Sheet1中的1隐藏
    (82) ActiveCell.EntireRow.Hidden = True ‘将当前工作表中活动单元格所在的行隐藏
    (83)   ActiveSheet.Range(“A:A”).EntireColumn.AutoFit ‘自动调整当前工作表A列列宽
    (84) ActiveSheet.Cells.SpecialCells(xlCellTypeConstants,xlTextValues) ‘选中当前工作表中常量和文本单元格
    (85) ActiveSheet.Cells.SpecialCells(xlCellTypeConstants,xlErrors+xlTextValues) ‘选中当前工作表中常量和文本及错误值单元格
    (86)  Application.WorksheetFunction.CountA(Range(“A:A”))+1 ‘获取A列的下一个空单元格
    (87) Set FirstCell=Range(RefEdit1.Text).Range(“A1”) ‘设置某单元格区域左上角单元格
    (88)  Application.OnTime Now + TimeValue("00:00:15"), "myProcedure" ‘等待15秒后运行myProcedure过程


    (89) Application对象
    (90)  Application.UserName ‘返回应用程序的用户名
    (91)  Application.Caller.Parent.Parent ‘返回调用函数的工作簿名称
    (92)  Application.StatusBar=”请等待……” ‘将文本写到状态栏
    (93)  Application.StatusBar=False ‘将状态栏重新设置成正常状态
    (94)  Application.Transpose(Array(“Sun”,”Mon”,”Tur”,”Wed”,”Thu”,”Fri”,”Sat”)) ‘返回一个垂直的数组
    (95)  Application.ActiveCell.Address ‘返回活动单元格的地址(注:返回的是绝对地址)
    (96)  Application.ActiveSheet.Name ‘返回活动工作表的名称
    (97)  Application.ActiveWindow.Caption ‘返回活动窗口的标题
    (98) Application.ActiveWorkbook.Name ‘返回活动工作簿的名称
    (99)  Application.Selection.Address ‘返回所选区域的地址
    (100) Application.ThisWorkbook.Name ‘返回当前工作簿的名称


    (101)  Range(A1:A10).Value=Application.WorksheetFunction.Transpose(MyArray) ‘将一含有10个元素的水平数组转置成垂直数组,并写入工作表单元格区域(A1至A10)。
    (102) Cells(rows.count,1).End(xlUp).Row+1 ‘返回A列最后一行的下一行
    (103)  rng.Range(“A1”) ‘返回区域左上角的单元格
    (104)  ActiveSheet.Range("A:B").Sort Key1:=Columns("B"), Key2:=Columns("A"), Header:=xlYes ‘两个关键字排序,相邻两列,B列为主关键字,A列为次关键字,升序排列
    (105)  cell.Range(“A1”).HasFormula ‘检查单元格或单元格区域中的第一个单元格是否含有公式或cell.HasFormula ‘工作表中单元格是否含有公式
    (106)  Cell.EntireColumn ‘单元格所在的整列
    (107) Cell.EntireRow ‘单元格所在的整行
    (108) rng.Address ‘返回rng区域的地址
    (109)  Range(“D5:D10”).Cells(1,1) ‘返回单元格区域D5:D10中左上角单元格
    (110)  ActiveCell.Row ‘活动单元格所在的行数


    (111) ActiveCell.Column ‘活动单元格所在的列数
    (112)  Set MyRange=Range(“A1:A5”) ‘创建一个名为MyRange的对象变量
    (113)  Application.Calculation = xlCalculationManual ‘设置工作簿手动计算
    (114) Application.Calculation = xlCalculationAutomatic ‘工作簿自动计算
    (115)  Worksheets(1).EnableCalculation = False ‘不对第一张工作表自动进行重算
    (116) ActiveSheet.Shapes.AddPicture "d:\sx.jpg", True, True, 60, 20, 400, 300 '在当前工作表中插入一张d盘中名为sx.jpg的图片

    fbd570ed1eb414141a07f879ebbb6f8d.png

    展开全文
  • 作者:Ryoko来源:凹凸数据当你收集了 n 个人的 EXCEL 记录表,...最终成品合并 EXCELVBA 实现合并不套路,下面直接放出 VBA 代码(来源于网络,经过了我修改):Sub合并当前目录下所有工作簿的全部工作表()DimMyPat...
  • 今天给大家分享VBA中一个很重要的概念—"事件",当然"此事件"非日常生活说的"事件"。VBA中的事件指的是当对象处于某种状态下所触发的动作。比如:我双击工作表,会自动弹出一个窗口欢迎我,那么这时工作表是对象,而...
  • <p>I am using XlsxWriter to do create a workbook and then add a predefined vba-project to be able to use workbook callback functions. Therefore I have some vba code in the "ThisWorkbook" ...
  • 大家好,今天给继续讲解VBA数据库解决方案的第13讲:如何获取数据库中的表的信息.在处理表,特别是查询的时候,我们需要一些表的信息,如表的名字,表的属性,那么有没有办法在程序中获得,并显示出来呢?今天的内容...
  • 当我们需要将多个工作簿合并成1个工作簿,可以使用power query,当然也能用SQL、WPS智能工具箱,更可以使用VBA。今天我们一起来学习如何用VBA快速搞定多个工作簿合并成1个工作簿,让你的效率快到飞起来!操作步骤:1...
  • 合并工作表有2种主流使用方法:VBA代码合并还有Power query 的操作合并,这2种方法最快是VBA,但缺点也明显,需要自己写代码。我们这里直接复制代码就可以了。00两种方法合并工作表01VBA合并工作表01.打开VBA的编辑...
  • ThisWorkbook.Worksheets("案例").Range ("a1")="VBA说" 可简化为: set sht = ThisWorkbook.Worksheets("案例")sht.Range ("a1")="VBA说" 方法❸:关闭屏幕刷新 VBA代码在运行过程中,不断更单元格中的值。...
  • 大家好,最近推出的内容是"VBA信息获取与处理"中的部分内容,这套教程面向中高级人员,涉及范围更广,实用性更强,现在的内容是第三个专题"VBA代码的分类及如何利用代码自动关闭空闲文件"的内容。第二节 工作簿和工作...
  • 在Excel文件中有多个工作表,如何把里面的每个工作表拆分 出来生成单独的文件保存起来呢?上图中有12个工作表,手动复制-粘贴,十几分钟也能...2、在VBA窗口中,点击左侧列表中的【ThisWorkbook】,然后输入代码:...
  • 有作业又到了久违的VBA教学时间!今天,解题宝宝无聊闲逛,惊奇发现了两份VBA代码,特意分享给大家。是解决如何合并大量不同的工作表哒。多少张都没问题!亲测有效!分为以下两种情况☟合并同一工作簿的不同工作表。...
  • 作者:Ryoko源自:凹凸数据前言:当你收集了 n 个人的 EXCEL 记录表,...一、合并 EXCEL1、VBA 实现合并不套路,下面直接放出 VBA 代码(来源于网络,经过修改):Sub合并当前目录下所有工作簿的全部工作表()DimMyPa...
  • 在Application对象体系中,ThisWorkbook对象是VBA顶级对象Application下的一个特殊对象,代表当前(VBA代码所在的)工作薄对象。ActiveWorkbook对象也是VBA顶级对象Application下的一个特殊对象,代表当前激活的工作...
  • <div><p>I think we're going to have to ignore document module names to work around that one.</p><p>该提问来源于开源项目:rubberduck-vba/Rubberduck</p></div>
  • VBA

    2010-04-09 10:13:00
    ThisWorkbook 返回一个 Workbook 对象,该对象代表当前宏代码运行的工作簿 Screenupdating Application的一个属性,是Boolean 数据类型,意思是屏幕窗口刷新是否打开,Application.Screenupdating=False...
  • VBA入门记录

    2021-01-28 00:41:26
    VBA入门记录 上学学过C,工作与编程无关 最近开始对编程有一定兴趣,就来学一下VBA,期望在工作中能应用,做一些小的开发。 主要是在我要自学网看视频。 With AP.Sheet2 这一段总是报438错误 Sub 合并excel表格A() '...
  • EXCEL vba 循环复制 粘贴 另存为 新的文件VBA代码 分别设置单元格内容 With Workbooks(ThisWorkbook.Name) Application.EnableEvents = False Application.ScreenUpdating = False Application.DisplayAlerts = ...
  • vba常用英文

    2014-10-26 17:02:30
    vba语句 (1) Option Explicit '强制对模块内所有变量进行声明 (2) Option Base 1 '指定数组的第一个下标为1 (3) On Error Resume Next '忽略错误继续执行VBA代码,避免出现错误消息 (4) On Error GoTo 100 '当错误...
  • VBA 脚本

    千次阅读 2017-09-06 11:14:26
    Sub test() Dim sheet1 As Worksheet ...Set sheet1 = ThisWorkbook.Worksheets("计件") If TypeName(sheet1.Cells(437, 8).Value) = "Double" Then MsgBox (TypeName(sheet1.Cells(437, 8).Value)) End If MsgBox
  • vba 相关

    2016-10-21 17:16:00
    返回当前默认文件路径:Application.DefaultFilePath ...返回当前工作薄的路径ThisWorkbook.Path Application.ActiveWorkbook.Path只返回路径Application.ActiveWorkbook.FullName 返回路径及工作簿文件名Applica...
  • VBA操作Excel之获取单元格区域一、VBA通过索引引用工作表二、VBA获取单元格区域三、VBA调用方法参数传值参考文档 一、VBA通过索引引用工作表 VBA打开工作簿后,通常一个工作簿有若干个工作表Sheet,访问其中一个工作...
  • Part 1:应用场景介绍做好了一张图表,下次有数据更新的时候,但是数据量和原来的不一样当然通过手动可以重新选择数据源,但是如果是频繁的,也很烦今天介绍点不一样的,通过VBA来实现最终效果Part 2:代码Sub 图表1...
  • <div><p>Per <a href="http://stackoverflow.com/a/19792576/1188513">this Stack Overflow answer</a> I stumbled on (thanks vba4all!), the way we're renaming document components isn't done right; ...
  • Excel VBA总结

    2021-03-06 12:16:20
    Sheet页代码、ThisWorkBook页代码、模块页代码 ① 只在某Sheet中【专用的】工作表事件和相关过程代码和函数,就放在这个Sheet代码页里。 ② 在所有Sheet中【通用的】工作表事件和相关代码代码和函数,就放在...
  • vba嵌入的特殊功能模块有时会做更改,为了节省时间,可以在thisworkbook中添加如下代码,实现每次打开excel文件,自动导入最新版本的模块。 Private Sub Workbook_Open() Dim s As String Dim arr Dim brr ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 436
精华内容 174
关键字:

thisworkbookvba