精华内容
下载资源
问答
  • 作者:iamlaosong 为了提高VBA程序运行速度,我们一般会关闭...当返回自动计算模式时,系统自动把所有的公式计算一遍,即使返回自动计算模式,文件保存时,系统也会自动计算所有公式,如果想计算,可以关闭这个功

    作者:iamlaosong

    为了提高VBA程序运行速度,我们一般会关闭屏幕更新,停止自动计算,如下:

    Application.ScreenUpdating = False

    Application.Calculation = xlManual

    当返回自动计算模式时,系统自动把所有的公式计算一遍,即使不返回自动计算模式,关闭并保存文件时,系统也会自动计算所有公式,当公式复杂,数据量大时,关闭工作簿就会比较慢,如果不想计算,可以关闭这个功能:

    Application.CalculateBeforeSave = False

    虽然关闭这个功能可以提高关闭速度,但重新打开这个文件时,系统仍然会重新计算一遍,以便保证数据的一致性。


    展开全文
  • NO.139-NO.142内容是:NO.139:如何做到显示工作簿的路径NO.140:如何做到显示工作簿的名称和完全路径NO.141:关闭当前宏代码运行的工作簿不保存工作簿的任何更改NO.142:建立新的工作簿并对新建工作簿进行操作...

    8cb7b4a56751d45192bdba6fc2082b9b.png

    分享成果,随喜真能量。大家好,今日内容仍是和大家分享VBA编程中常用的简单“积木”过程代码,这些内容多是取至我的“VBA代码解决方案”教程中内容。NO.139-NO.142内容是:

    NO.139:如何做到显示工作簿的路径

    NO.140:如何做到显示工作簿的名称和完全路径

    NO.141:关闭当前宏代码运行的工作簿,不保存对工作簿的任何更改

    NO.142:建立新的工作簿并对新建工作簿进行操作。

    a56e2c6b6101571d69f55e0bd7d1f361.png

    VBA过程代码139:如何做到显示工作簿的路径。

    Sub mynz()

    MsgBox "名称为:" & Workbooks("book21.xlsm").Path

    End Sub

    代码的解析说明:上述过程过程显示工作簿“book21”的路径。

    cabc3ed2bbf7128eb17bf24a1d8047b7.png

    VBA过程代码140:如何做到显示工作簿的名称和完全路径

    Sub mynz()

    MsgBox "第一个打开的工作簿名字为:" & Workbooks(1).Name

    MsgBox "包括完整路径的工作簿名称为:" & Workbooks(1).FullName

    End Sub

    代码的解析说明:上述过程过程用 MsgBox 对话框显示"第一个打开的工作簿名字。

    68714892d82609bf020d4ebfddb03f3a.png

    VBA过程代码141:关闭当前宏代码运行的工作簿,不保存对工作簿的任何更改

    Sub mynz()

    ThisWorkbook.Close SaveChanges:=False

    End Sub

    代码的解析说明:上述过程过程使用Close方法关闭当前宏代码运行的工作簿,不保存对工作簿的任何更改。

    注意 本属性仅可在 Microsoft Excel内使用。不能使用此属性访问任何其他应用程序的工作

    VBA过程代码142:建立新的工作簿并对新建工作簿进行操作

    Sub mynz()

    Dim Nowbook As Workbook

    Dim ShName As Variant

    Dim Arr As Variant

    Dim i As Integer

    Dim myNewWorkbook As Integer

    myNewWorkbook = Application.SheetsInNewWorkbook

    ShName = Array("余额数", "单价数", "数量", "金额数")

    Arr = Array("1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月")

    Application.SheetsInNewWorkbook = 4

    Set Nowbook = Workbooks.Add

    With Nowbook

    For i = 1 To 4

    With .Sheets(i)

    .Name = ShName(i - 1)

    .Range("B1").Resize(1, UBound(Arr) + 1) = Arr

    .Range("A2") = "品名"

    End With

    Next

    .SaveAs Filename:=ThisWorkbook.Path & "" & "库存.xlsx"

    .Close Savechanges:=True

    End With

    Set Nowbook = Nothing

    Application.SheetsInNewWorkbook = myNewWorkbook

    End Sub

    代码的解析说明:上述过程使用Add方法建立新的工作簿并对新建工作簿进行操作。

    代码将Application对象的SheetsInNewWorkbook属性设置为4,在新建工作簿时插入4张工作表。使用Add方法建立新的工作簿,应用于Workbooks对象的Add方法新建工作簿,新建的工作簿将成为活动工作簿。代码使用SaveAs方法将新建工作簿重命名为“库存.xls”保存在同一目录中。代码使用Close方法关闭工作簿。

    VBA实现自己小型办公自动化的有效手段,我根据自己20多年的VBA实际利用经验,现推出了四部VBA教程,这些是我多年编程经验的记录,也是我“积木编程”思想的体现。每一讲都是较大块的“积木”,可以独立的完成某些或者某类的过程,有需要的朋友可以联络(WeChat:NZ9668)分享。利用这些可以提高自己的编程效率。

    1. 第一套“VBA代码解决方案”PDF教程,是VBA中各个知识点的讲解,覆盖了绝大多数的知识点,是初学及中级以下人员必备。
    2. 第二套“VBA数据库解决方案”PDF教程。数据库是数据处理的利器,对于中级人员应该掌握这个内容了。
    3. 第三套“VBA数组与字典解决方案”PDF教程,讲解VBA的精华----字典,是我们打开思路,提高代码水平的必备。
    4. 第四套“VBA代码解决方案”视频教程。目前正在录制,“每天20分钟,半年精进VBA”,越早参与,回馈越多。现在录制到第二册的84讲,第二级阶段的优惠期即将结束。
    展开全文
  • 学习Excel技术,关注微信公众号:excelperfect下面的一系列文章将重点讲解如何在功能区中添加不同类型的自定义控件,它们与最底层的自定义... 创建新工作簿保存为启用宏的工作簿。2. 关闭工作簿,然后在CustomUI...

    学习Excel技术,关注微信公众号:

    excelperfect

    下面的一系列文章将重点讲解如何在功能区中添加不同类型的自定义控件,它们与最底层的自定义命令相关。这里的自定义命令是指程序员自已编写的VBA过程。

    添加按钮

    如果要在内置功能区选项卡中添加两个按钮,在单击这些按钮时会调用VBA过程,那么执行下面的步骤:

    1. 创建新工作簿并保存为启用宏的工作簿。

    2. 关闭该工作簿,然后在CustomUI Editor中打开该工作簿。

    3. CustomUI Editor中,单击“插入”并选择“Office 2007 Custom UI Part”。

    4. 选择“Insert | Sample XML | Custom Tab”,作一些修改,或者复制并粘贴下面的XML代码,在功能区“插入”选项卡中添加包含两个按钮(标记为Insert 0Insert 1,带有Mso图像01)的标记为Attn Sh的组。

    b6684f9d37f8b1d647cf44d8fc49c4da.png

    选项卡元素:

    idMso属性的值是内置选项卡的名称。本例中,TabInsert是“插入”选项卡的idMso。如果要在其他内置选项卡中插入按钮,那就使用其他选项卡的idMso替换掉TabInsert

    组元素:

    group元素中label属性的值指定功能区中组显示的文本。

    按钮元素:

    imageMso属性为按钮指定预定义的图像。如果要使用自已设计的图像,只需使用image属性替换掉imageMso属性。

    onAction属性是一个回调属性。该属性的值是在单击按钮时要执行的VBA过程的名称。

    5. 单击工具栏中的Validation按钮来检查是否有错误。

    6. 单击Generate Callbacks按钮。

    由于XML代码中有两个回调属性(每个按钮一个),因此生成两个回调:

    'Callback for BtnInsert0onAction

    SubInsert0(control As IRibbonControl)

    End Sub

    'Callback for BtnInsert1onAction

    SubInsert1(control As IRibbonControl)

    End Sub

    复制回调代码。之后,要将其粘贴到工作簿的VBA模块中。

    7. 保存并关闭该文件。

    8. Excel中打开该工作簿文件。

    9. Alt+F11键打开VBE

    10. 插入一个标准VBA模块并粘贴刚才复制的回调代码。

    11. 添加一些代码来测试这两个按钮:

    'Callbackfor BtnInsert0 onAction

    Sub Insert0(control AsIRibbonControl)

        With control

            MsgBox "单击了" & .Context.Caption &"中的" & .ID

        End With

    End Sub

    'Callbackfor BtnInsert1 onAction

    Sub Insert1(control AsIRibbonControl)

        With control

            MsgBox "单击了" & .Context.Caption &"中的" & .ID

        End With

    End Sub

    单击按钮时会显示:

    fab289c4fc928696a737eca39e4d396e.png

    Insert0回调过程中的参数control3个属性:

    IDXML代码中指定的控件的id

    Context包含该功能区的活动窗口。Context.Caption是出现在该窗口标题栏中的名称,本例中,为该工作簿的名称。

    TagXML代码中元素(本例中是按钮元素)的tag属性的值。通常,标签用于识别控件执行的操作。

    下图展示在功能区的“插入”选项卡出现了含有两个按钮的Attn Sh组。

    5bb9fa9848e497c9b5653a5cdcaf1f7f.png

    说明:本专题系列大部分内容学习整理自《Dissectand Learn Excel VBA in 24 HoursChangingworkbook appearance》,仅供学习研究。

    欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

    欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料。

    f2a89b8d285054e3a90a5522db84e500.png

    展开全文
  • MsgBox "关闭其他工作簿!": Exit Sub '----------设置父文件夹路径----- mPath = "D:\Project overview 2015" fA = Dir(mPath & "\*", vbDirectory) '开始收集子目录名称 k = 0 Do While fA <> "" If fA <> "." ...
  • 大家好,今天继续和大家分享VBA编程中常用的简单“积木”过程代码第76-80讲,内容是:保存当前工作簿的副本到其它位置备份;显示警告框;关闭屏幕刷新;获取工作表的行数及当前工作表中已使用的行数;将当前工作表...

    13f52ba068407e7365dc0a12f4f29625.png

    分享成果,随喜真能量(这是我视频教程的开场白)。大家好,今天继续和大家分享VBA编程中常用的简单“积木”过程代码第76-80讲,内容是:保存当前工作簿的副本到其它位置备份;不显示警告框;关闭屏幕刷新;获取工作表的行数及当前工作表中已使用的行数;将当前工作表NZ移至工作表的最后等内容。

    a05b23bd372bb11384279775af617c6c.png

    VBA过程代码76:保存当前工作簿的副本到其它位置备份工作簿。

    Sub MyNZ()

    Dim awb As Workbook, BackupFileName As String, i As Integer, OK As Boolean

    If TypeName(ActiveWorkbook) = "Nothing" Then Exit Sub

    Set awb = ActiveWorkbook

    If awb.Path = "" Then

    Application.Dialogs(xlDialogSaveAs).Show

    Else

    BackupFileName = awb.Name

    OK = False

    On Error GoTo NotAbleToSave

    If Dir("D:/" & BackupFileName) <> "" Then

    Kill "D:/" & BackupFileName

    End If

    With awb

    Application.StatusBar = "正在保存工作簿..."

    .Save

    Application.StatusBar = "正在备份工作簿..."

    .SaveCopyAs "D:/" & BackupFileName

    OK = True

    End With

    End If

    NotAbleToSave:

    Set awb = Nothing

    Application.StatusBar = False

    If Not OK Then

    MsgBox "备份工作簿未保存!", vbExclamation, ThisWorkbook.Name

    End If

    End Sub

    代码的解析说明:本程序将把当前工作簿进行复制并以与当前工作簿相同的名称保存在D盘中。其中,使用了Kill方法来删除已存在的工作簿。

    f7eb1feca728f0e1081bba0b9d25c8ad.png

    VBA过程代码77:在程序执行过程中使出现的警告框不显示

    Sub MyNZ()

    Application.DisplayAlerts=False

    ………………………….

    Application.DisplayAlerts=true

    End sub

    代码的解析说明:上述代码在在程序执行过程中使出现的警告框不显示,注意在最后一定要恢复显示警告框。

    VBA过程代码78:关闭屏幕刷新

    Sub MyNZ()

    Application.ScreenUpdating=False

    ………………………….

    Application.ScreenUpdating=True

    End Sub

    代码的解析说明:上述代码在在程序执行过程中关闭屏幕刷新,这样可以加快程序的运行速度。

    VBA过程代码79:获取工作表的行数及当前工作表中已使用的行数

    Sub MyNZ()

    Msgbox Rows.Count

    Msgbox ActiveSheet.UsedRange.Rows.Count

    End Sub

    代码的解析说明:上述代码在在程序执行过程返回工作表的行数及当前工作表中已使用的行数

    VBA过程代码80:将当前工作表NZ移至工作表的最后

    Sub MyNZ()

    Sheets(“NZ”).SELECT

    ActiveSheet.Move After:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)

    End Sub

    代码的解析说明:将当前工作表NZ移至工作表的最后,先对工作表“NZ”进行选择,然后移动到最后。

    c931ab19f17fc03802f05b8c879ea782.png

    越简单的事物往往越容易理解,简单的过程组合起来就是一个复杂的过程,我们要先认真掌握这些简单的过程,才能在可以为我们复杂的工程服务。

    另外:下面是我根据自己20多年的VBA实际利用经验,编写的四部教程,这些是较大块的“积木”,可以独立的完成某些或者某类系统的过程,欢迎有需要的朋友联络(WeChat:NZ9668)分享。利用这些可以提高自己的编程效率。

    第一套:《VBA代码解决方案》是PDF教程,是VBA中各个知识点的讲解,覆盖了绝大多数的知识点。是初学及中级以下人员必备的资料。

    第二套:《VBA数据库解决方案》是PDF教程。数据库是数据处理的利器,对于中级人员应该掌握这个内容了。

    第三套:《VBA数组与字典解决方案》是PDF教程,讲解VBA的精华----字典,是我们打开思路,提高代码水平的必备资料。

    第四套:《VBA代码解决方案》的视频教程。目前正在录制,现在推出“每天20分钟,半年精进VBA”活动,越早参与,回馈越多。现在第一册48讲内容已经录制完成。录制到第二册64讲的课程,开始第二级阶段的优惠期。

    展开全文
  • excel vba saveas 另存为使用方法

    千次阅读 2020-02-29 21:16:37
    excel vba 保存代码 Sub 保存工作簿() ThisWorkbook.Save '.save相当于按保存按钮;... ThisWorkbook.SaveCopyAs "另存一份副本" '另存一份副本为新工作簿,而不关闭当前工作簿。只有一个参数,就是新的文件名。 ...
  • vba常用英文

    2014-10-26 17:02:30
    vba语句 (1) Option Explicit '强制对模块内所有变量进行声明 ...(12) ThisWorkbook.Save '保存工作簿 (13) ThisWorkbook.close '关闭当前工作簿 (14) ActiveWorkbook.Sheets.Count '获取活动工作薄中工作表数
  • VBA常用技巧

    2014-12-21 16:39:28
    技巧45 关闭工作簿不显示保存对话框 12 45-1 使用Close方法关闭工作簿 12 45-2 单击工作簿关闭按钮关闭工作簿 12 技巧46 禁用工作簿的关闭按钮 12 技巧47 保存工作簿的方法 12 47-1 使用Save方法 12 47-2 直接保存为...
  • VBA编程技巧大全

    2013-08-05 09:03:19
    技巧45 关闭工作簿不显示保存对话框 111 45-1 使用Close方法关闭工作簿 111 45-2 单击工作簿关闭按钮关闭工作簿 113 技巧46 禁用工作簿的关闭按钮 113 技巧47 保存工作簿的方法 115 47-1 使用Save方法 115 47-2 直接...
  • Excel VBA - Workbook对象

    2011-10-27 16:38:00
    来源:... Workbooks(1).Name Workbooks(1).FullName 工作簿地址加名字 Workbooks(1).Path 工作簿地址 Workbooks(1).Close SaveChanges:=False 关闭工作簿,并且不保存 Workb...
  • 02043关闭工作簿不保存 02044关闭工作簿前进行保存 02045关闭所有打开的工作簿,不保存 02046关闭所有打开的工作簿,保存所有更改 02047删除工作簿中所有定义的名称 02048引用当前工作簿窗口 02049引用新建的工作...
  • 中文版Excel.2007高级VBA编程宝典 1/2

    热门讨论 2012-04-06 16:00:16
     11.2.2 保存关闭所有工作簿  11.2.3 隐藏除选区之外的区域  11.2.4 同步工作表  11.3 VBA技巧  11.3.1 切换布尔类型的属性值  11.3.2 确定打印页面的数量  11.3.3 显示日期和时间  11.3.4 获得字体列表 ...
  • 中文版Excel.2007高级VBA编程宝典 2/2

    热门讨论 2012-04-06 16:41:38
     11.2.2 保存关闭所有工作簿  11.2.3 隐藏除选区之外的区域  11.2.4 同步工作表  11.3 VBA技巧  11.3.1 切换布尔类型的属性值  11.3.2 确定打印页面的数量  11.3.3 显示日期和时间  11.3.4 获得字体...
  • 导出活动工作表中被选中的一张JPG图片,(一定是本工作簿中的工作表); 1.打开本Excel文件,不要关闭; 2.再另外打开你自己需要操作的另一个Excel文件,并保持你要操作的工作表做为当前活动工作表; 3.请选中一张...
  • Excel百宝箱9.0无限制破解版

    热门讨论 2012-02-03 19:05:29
    可通过Ctrl+Shift+T切换显示状态,可以通过右键菜单关闭工作簿 【取文本】:提取混合字符串中的文本 【去文本】:删除混合字符串中的文本 【取字母】:提取混合字符串中的字母 【去字母】:删除混合字符串中的字母 ...
  • Excel百宝箱

    2012-10-27 17:09:21
    可通过Ctrl+Shift+T切换显示状态,可以通过右键菜单关闭工作簿 【取文本】:提取混合字符串中的文本 【去文本】:删除混合字符串中的文本 【取字母】:提取混合字符串中的字母 【去字母】:删除混合字符串中的字母 ...
  • .Close False '关闭工作簿不保存。 End With End If f = Dir '下一个工作簿 Loop If k > 0 Then [a1].Resize(k, UBound(brr, 2)) = brr MsgBox "汇总完成。" End If Application.ScreenUpdating = True ...
  • 可通过Ctrl+Shift+T切换显示状态,可以通过右键菜单关闭工作簿 【取文本】:提取混合字符串中的文本 【去文本】:删除混合字符串中的文本 【取字母】:提取混合字符串中的字母 【去字母】:删除混合字符串中的...
  • Excel百宝箱8.0

    2011-06-07 21:32:17
    【公农双历查询】【高级定位】【选区背景着色】【修改文件建立时间】【工作表环境设置】【按颜色合计】【根据工资计算钞票】【隔行插入行】【折分工作簿(工作表)】【工作表折分】【合并工作簿】【文本与数值互换】...
  • 可通过Ctrl+Shift+T切换显示状态,可以通过右键菜单关闭工作簿 【取文本】:提取混合字符串中的文本 【去文本】:删除混合字符串中的文本 【取字母】:提取混合字符串中的字母 【去字母】:删除混合字符串中的字母 ...
  • 第六步: 关闭工作簿MyCustomUI.xlsm。 第七步: 在MyCustomUI.xlsm图标上单击右键,选择“重命名”,在文件名后添加“.zip”扩展名,使其变为一个压缩文件 第八步: 双击该压缩文件,打开压缩包,将customUI...
  • 关闭工作簿是恢复Excel默认设置 • 设置Excel工作簿打开时的界面 • VBA事件激活的顺序 • VBA事件的激活与禁止 • 插入命令按钮 • 使用命令按钮设置单元格格式 • 使用复选框控件制作多选调查问卷 • 使用选项...
  • 【折分工作簿】将指定工作簿的每个工作表拆分成单独的工作簿,新工作簿名称等于原工作表名称 【工作表折分】将当前工作表的数据按条件拆分成多个工作表,可以用任意列的数据做为拆分条件 【合并工作簿】将指文件夹中...
  • EXCEL百宝箱8.0终极版

    2011-11-05 16:48:02
    【折分工作簿】:将指定工作簿的每个工作表拆分成单独的工作簿,新工作簿名称等于原工作表名称 【工作表折分】:将当前工作表的数据按条件拆分成多个工作表,可以用任意列的数据做为拆分条件 【合并工作簿】:将指...
  • 【工作表解密】 可以破解工作表密码和工作簿密码。在知道密码的前提下找回密码。 【VBA工程解密】 将有密码的VBA工程代码破解,直接打开即可修改代码。相当于VBA工程免密查看。 【隐藏与显示磁盘】 隐藏与显示磁盘...
  • EXCEL集成工具箱V6.0

    2010-09-11 01:44:37
    安全工具 【工作表解密】 可以破解工作表密码和工作簿密码。在知道密码的前提下找回密码。 【VBA工程解密】 将有密码的VBA工程代码破解,直接打开即可修改代码。相当于VBA工程免密查看。 【隐藏与显示磁盘】 ...

空空如也

空空如也

1 2
收藏数 40
精华内容 16
关键字:

vba关闭工作簿不保存