学习
实践
活动
专区
工具
TVP
写文章

Excel编程周末速成班第24课:调试和发布应用程序

调试工具 几乎所有bugs都是由两个因素导致的——单独工作或组合工作: 程序执行接收到错误的路径。 一个或多个变量取不正确的VBA的调试工具旨在跟踪这两种bugs的原因。 跳转命令 VBA在断点处停止后,通常需要继续执行程序。有几种选择,如表24-1所示。 24-1:在中断模式下执行命令 ? VBA的跳转命令的使用取决于调试会话的详细信息。 监视表达式可以是任何VBA表达式,例如程序变量、对象属性或函数调用。通过设置监视,你可以关注变量或属性的以查看其是否以及何时更改。 可以使用多种方法来使用监视表达式: 可以监视其。 VisualBasic在“监视”窗口中显示表达式(定义监视表达式时,此窗口会自动打开)。每当程序进入中断模式时,显示的都会更新。 可以指定每当表达式的值更改时,程序就进入中断模式。 提示:如果看不到“监视窗口”,从VBA编辑器菜单中选择“视图——监视窗口”。 24-2列出了各种调试情况下一些监视示例。 ? 使用快速监视 你可以使用“快速监视”来快速查看变量或表达式的

29610

Excel VBA编程

批量新建指定名称的工作 批量对数据进行分离,并保存到不同的工作中 将多张工作中的数据合并到一张工作中 将工作簿中的每张工作都保存为单独的工作簿文件 将多个工作簿中的数据合并到同一张工作中 2.选择插入模块,然后插入过程,选择子程序 VBA语法规则 在Excel中,数据只有文本,数值,日期,逻辑和错误五种类型。 在VBA中,Excel的工作簿,工作,单元格等都是对象,图表,透视,图片等也都是对象,甚至于单元格的边框线,插入的批注都是对象… 集合也是对象,它是对多个相同类型对象的统称。 并且并不是所有的工作函数都可以通过worksheetfunction属性来调用 设置属性,更改Excel的工作界面 设置application对象的属性来修改Excel的界面 在【立即窗口】执行的代码 worksheet对象的change事件 worksheet对象的change事件告诉VBA:当过程所在工作中的单元格被更改时自动运行程序。

21320
  • 广告
    关闭

    新年·上云精选

    热卖云产品新年特惠,2核2G轻量应用服务器9元/月起,更多上云必备产品助力您轻松上云

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python让Excel飞起来:使用Python xlwings实现Excel自动化

    尝试下面的代码,它将允许你将从Python输入到Excel。 接下来,保存VBA代码,现在我们要在Excel工作中创建一个按钮。返回Excel界面,在“开发工具”选项卡,单击“插入->按钮”,并指定刚创建的宏Rand_10。 该函数必须返回某些内容,以便将返回的传递到Excel中。 如果一切正常,意味着成功导入了Python函数,我们就可以直接在工作中使用square()函数了,如下图12所示,在单元格中输入=square(A1)。 确保在VBA编辑器菜单“工具->引用”中选取了“xlwings”,并将更改存到相应的Excel文件中。有时,当打开多个Excel工作时,我们可能会无意中将此更改应用于另一个文件。

    1.5K41

    如何将重复工作实现自动化?

    而各部门的数据传输也主要是Excel表格,所以处理上我们也多数用Excel。所以,最终还是选择了额外还会VBA的求职者。 我想说的是,有些时候,多掌握一些,就会多一份选择、多一份机会。 例如,设定一个按钮,该按钮链接一个小程序,小程序主要功能为合并多个工作簿,那么当我们单击这个按钮时,就会执行多个工作合并。 「类代码」和「窗体代码」大家了解即可,后面我们会逐步介绍。 前面的没看懂? 案例2:批量修改所有文件名 其实工作中有很多类似这样的重复工作,例如批量更改文件名称、批量汇总多个工作、批量汇总多个工作簿、自动比对数据、批量生成多个Excel文件等等,都可以用VBA自动化解决。 下面这个案例是批量更改指定路径下所有文件名 上面这个批量「更改指定路径下所有文件名」的程序,由两个程序组成:文件名提取和文件名更换,可以针对指定路径文件夹(文件夹在哪里)下任何类型文件,更改为指定名称 (1)如果勾选「开发工具」功能区并没有出现,可以关掉当前Excel,重启Excel。 (2)VBA程序的文件后缀为“.xlsm” (3)别看上面的VBA代码,密密麻麻,其实没那么复杂。

    69210

    Excel编程周末速成班第22课:使用事件

    主要内容: Excel事件的类别 编写事件处理程序代码 启用和禁用事件 工作簿、工作和应用程序级事件 如何使用与对象无关的事件 事件是Excel编程的重要组成部分。 图22-1:在代码编辑窗口输入事件过程 事件顺序 处理事件时,你需要了解某些操作会导致触发Excel中的多个事件。在这些情况下,多个事件以特定顺序发生。 当事件过程中的代码直接或间接导致再次触发同一事件时。 下面是一个例子。 只要修改工作中的数据,就会触发Worksheet_Change事件。 你可以将此事件用于数据验证,例如验证在特定单元格中输入的始终在指定范围内。如果数据不在此范围内,代码将显示一条消息并清除单元格,以便用户可以重新输入数据。 注:本文是在知识星球App的完美Excel社群中发表的Excel VBA编程系列文章《Excel编程周末速成班第22课:使用事件》中的一部分内容。

    25410

    Excel编程周末速成班第3课:Excel对象模型

    学习Excel技术,关注微信公众号: excelperfect 导语:为了帮助想要快速学会Excel VBA的朋友,特以《Excel Programming Weekend Crash Course》这本书为基础 一些对象属性是只读的,意味着你可以确定它们的属性但不能更改它们的(例如,门数)。另一些则是可读写的,可以读取和更改,例如广播电台。 相比之下,方法是对象可以执行的操作,例如它可以执行的动作。 使用命名参数,则没有必要——仅包括要更改其默认的那些可选参数。 对象引用的重要性 要使用对象,你需要对其进行引用。只是在代码中用于引用对象的名称。 只要有可能存在一个对象的多个副本,Excel几乎总是使用集合。 下面是一个示例。一个Excel工作簿包含多个工作,处理方法如下: Workbook对象代表该工作簿。 有关详细信息,请参考VBA的在线帮助。 另一种方法SaveCopyAs使你可以使用新名称保存工作簿的副本,而无需更改打开的工作簿的名称。

    35430

    VBA专题10-2:使用VBA操控Excel界面之设置工作

    本文主要讲解操控工作中一些界面元素的VBA代码。 名称框 名称框中的名字是为单元格区域定义的名字,可以由用户定义名称,或者由Excel自动创建,例如Print_Area和1。 工作标签名 2. 工作索引(即在工作簿中该工作标签的位置)。即使工作被隐藏,其索引不会改变。如果没有被隐藏的工作,那么最左侧的工作标签是工作簿中的第1个工作,其索引为1。 3. 注意,代表颜色的常量可以在VBA帮助系统中查找。 在当前窗口中滚动活动工作不会导致在其他非活动窗口中的滚动。活动工作可以是标准工作、图表工作、宏工作或者对话框工作。 ActiveWindow.GridlineColorIndex= xlColorIndexAutomatic 说明:本专题系列大部分内容学习整理自《Dissectand Learn Excel VBA

    82240

    《Python for Excel》读书笔记连载1:为什么为Excel选择Python?

    如果你想想这是如何工作的,就会注意到一个单元格的通常取决于一个或多个其他单元格,这些单元格可能会再次使用依赖于一个或多个其他单元格,依此类推。 有时,这些问题可能会产生毁灭性的后果:如果你在进行交易之前忘记重新计算交易工作簿,可能会买卖错误数量的股票,这可能会导致你赔钱。 大多数专业的Excel开发人员建议为每个层使用单独的工作,用Excel的术语,通常称为输入、计算和输出。 如果编写VBA,最常见的可重用代码是函数。例如,通过函数可以从多个宏访问同一代码块。如果你有多个一直在使用的函数,可能希望在工作簿之间共享它们。 测试 当告诉Excel开发人员测试他们的工作簿时,他们很可能会执行一些随机检查:单击一个按钮,查看宏是否仍然执行它应该执行的操作,或者更改一些输入,并检查输出是否合理。

    46820

    Excel编程周末速成班第18课:使用用户窗体创建自定义对话框

    更改属性,单击其名称。然后,进行更改的方式取决于特定的属性: 对于枚举属性(可以采用一组预定义中的任何一个),使用右列中的下拉列表选择。 根据需要更改设置;然后关闭对话框以返回到属性窗口。 窗体属性 每个用户窗体都有一组控制其外观和行为的属性。有30多个窗体属性,其中一些不经常使用。 18-2:设置用于UserForm对象的StartUpPosition属性 ShowModal属性通常保留其默认True,这适用于大多数用户窗体,因为直到关闭窗体(例如,当窗体用于接受来自用户的数据输入时 要点回顾 本课程介绍了如何使用Excel的用户窗体创建自定义对话框。你学到了: 用户窗体可以包含许多其他Windows应用程序中使用的相同控件。 一个VBA工程可以包含所需的任意多个用户窗体。 VBA学习信息 本文为知识星球:完美Excel社群正在陆续推出的《Excel编程周末速成班》系列中的一篇,到2020年12月27日,此系列已更新至第18课。

    55430

    Excel编程周末速成班第21课:一个用户窗体示例

    excelperfect 引言:这是在知识星球App的完美Excel社群中发表的Excel VBA编程系列文章中的一篇,使用一个示例来讲解用户窗体的基础应用。 长时间盯着工作行和列的网格可能会导致疲劳并增加出错的机会,设计良好的用户窗体使查看更容易。 更高的准确性。你可以编写代码以确保将每一项数据放置在工作中的合适的位置,手动输入更容易出错。 数据验证。 在VBA联机帮助中的KeyCode列表中,你可以看到键0到9的代码为48到57。因此,如果KeyDown事件过程接收到48至57范围内的KeyCode参数,则输入的是一个数字并可以传递该数字。 VBA学习信息 本文为知识星球:完美Excel社群正在陆续推出的《Excel编程周末速成班》系列中的一篇,到2020年12月27日,此系列已更新至第21课。 下面是第1课至第21课的目录: 第1课:MicrosoftExcel编程——为什么及怎么做 第2课:VBA代码编辑器 第3课:Excel对象模型 第4课:VBA语法和数据 第5课:运算符 第6课:控制结构

    43310

    Worksheet工作对象属性

    index索引号对应的是工作标签从左至右排列的顺序。(所以在使用索引号引用工作时,如果改变排列顺序就可能导致指定的工作表错误,这点需要注意。) ? ? 代码中变量从1到工作对象的数量4。 通过设置工作的visbils属性达到显示和隐藏工作的目的。(visbile属性可以通过vba代码更改,也可以在工作的属性窗格中更改visible属性。) ? ? 属性通常有三个可供选择: 属性-1为显示隐藏的工作。(vba代码中也可以使用1和true) 属性0为普通隐藏,可以从格式菜单中取消隐藏。 (vba代码中也可以用false或者xlsheethidden) 属性2代深度隐藏,不能从格式菜单中取消隐藏,必须通过vba代码或属性窗格中更改。 工作的codename属性是工作对象名称,上节已经有详细的介绍,在新增工作时,excel会默认工作name和对象名称codename相同。

    1.1K30

    VBA专题07:使用VBA读写Windows注册

    说明: 1.该函数将写入注册中的HKEY_CURRENT_USER\Software\VBand VBA Program Settings键的子键。 如果setting不是字符串,则会试图把它改成字符串以便写入注册。 4.如果不能保存设置,则会导致运行时错误。 5.SaveSetting不允许改变注册表项的缺省。 说明: 1.该函数从注册中的HKEY_CURRENT_USER\Software\VBand VBA Program Settings键的子键中检索。 2.该函数返回字符串。 4.该函数只能返回属于section指定的最终注册主键的注册表项名和数据。如果主键含有一个或多个子键,则不能用这个函数读取它们的数据。 3.DeleteSetting不能删除注册表项的缺省。 4.除非确定好了,否则不要随便删除注册表项设置,以免误删除导致严重的后果。

    1.2K10

    Excel VBA解读(139): 用户定义函数计算了多次

    学习Excel技术,关注微信公众号: excelperfect 写在开头的话:本系列从第133篇开始的22篇文章,都是翻译改编自fastexcel.wordpress.com的Making your VBA 然而,随着自已研究VBA的深入,不由得佩服老外对VBA研究的深入,此时刚好Excel VBA解读系列又写到自定义函数这里,正好拿出来,边研究并翻译分享给大家。 A3(其参数单元格A2的显示为空),然后是单元格A2,接着又是A3,此时显示出其参数单元格A2的正确。 使用将结果返回到多个单元格的数组用户定义函数是加速用户定义函数执行的一种非常好的方法(请参阅前面的文章),但是应该注意一个导致速度减慢的Bug: 当输入或修改多单元格用户定义函数并且取决于易失性公式时 只有在输入或更改用户定义函数时,才会重新计算该函数。

    68630

    Active APT

    此恶意代码包以 VBScript 开始,如果 Outlook 进程正在运行,该脚本首先会杀死它,然后通过更改注册来消除 Outlook 中 VBA 宏执行的安全性。 它还将恶意 OTM 文件(Outlook VBA 项目)保存到磁盘,其中包含宏、恶意电子邮件附件,在某些情况下,还保存了电子邮件应发送到的收件人列表。 创建恶意电子邮件的 Outlook VBA 脚本 基于此恶意 VBA 代码的“发送至联系人​​列表中的所有人”行为,我们认为该模块可能导致一些组织认为他们已成为 Gamaredon 的目标,而他们只是附带损害 值得注意的是,有两个文本文件,一个用于 Word,一个用于 Excel,包含要插入目标文档的恶意宏的 VBA 源代码,以及负责查找和破坏现有文档的 .NET 程序集。 未混淆版本中的 CodeBuilder 函数 此 .NET 模块首先通过修改以下注册来减少各种文档类型的 Office 宏安全设置: HKCU\Software\Microsoft\Office\<

    17100

    AutoHotkey 通过 COM 操作 Excel 文档

    本来打算咸鱼淘一个,价格出奇的不合适,当地又没有总代,所以通过400客服给了一个河南总代的电话,寄过去代就可以了。大概历时一个月左右顺丰包邮寄回。 使用范围 在许多时候我们需要对多个单元格,例如同一行的某些单元格或整列单元格,这时需要使用范围。 当您在 Excel 中对一些内容进行排序时,您必须依次指定所有的排序参数;如果您不使用参数,则将其保留为默认(ComObjMissing() 表示该可选参数的默认)。 如果您想对 Excel 进行深入的学习以执行更多更高级的操作,可以将下面两种方法结合起来: 通过 VBA 帮助简单的熟悉 Excel 中的数据对象模型,并学习其中的例子; 通过 Excel 的宏功能录制手动进行的操作 在学习时主要的参考资料是 Excel 开发人员参考 (程序自带),由于某些时候可能安装精简版的去除了这个,可以到 MSDN 上查看,这里提供一个 Excel 2003 VBA 参考的下载链接。

    14220

    常见的复制粘贴,VBA是怎么做的

    因此,无论哪个Excel工作簿处于活动状态,引用都能正常工作。 Excel功能区中的复制命令 在使用VBA代码复制单元格区域之前,看看Excel功能区中的“复制”按钮命令。 以一个例子来说明: 如果查看示例1(复制到剪贴板)和示例2(复制到目标区域)的结果,会注意到目标工作与源工作看起来几乎相同。换句话说,Excel复制并粘贴全部(、公式、格式)。 上述示例1和示例2中都是这种情况,其中,尽管工作发生了更改,目标仍然是单元格B5到M107。这保证了混合引用继续指向正确的单元格。 然而,一旦目标单元格区域发生更改(如上面的示例所示),原始的混合引用就会对工作造成严重破坏。 相反,它使用单元格F5作为从源工作复制的混合引用的结果。这将导致(i)错误的结果和(ii)循环引用。

    1.7K20

    Spider与OpenPyXL的结合1.OpenPyXL基础操作操作数据保存到文件2.爬虫与OpenPyXL的结合(爬取前程无忧网站招聘数据,存储Excel表格中)使用同样的分析方法爬取智联招聘岗位信

    除非你修改了这个,否则你使用该函数一直是在对第一张工作进行操作。 使用多个单元格 使用切片获取多个单元格 >>> cell_range = ws['A1':'C2'] 使用openpyxl.worksheet.Worksheet.iter_rows() 方法获得多个单元格 = Workbook() fileName = '51job.xlsx' #调用得到正在运行的工作 excel = Excel.active #工作的名字 excel.title = '51job #保存到excel文件 print('开始保存数据') Excel.save(filename=fileName) except Exception excel[col_E] = p # 保存到excel文件 print('开始保存数据') Excel.save(filename

    50610

    使用Python将多个Excel文件合并到一个主电子表格中

    标签:Python与Excel,pandas 本文展示如何使用Python将多个Excel文件合并到一个主电子表格中。假设你有几十个具有相同数据字段的Excel文件,需要从这些文件中聚合工作。 当然,你也可以使用Excel VBA来实现,但Python更简洁,效率更高。 工作流程 要解决此问题,我们需要遵循以下工作流程: 1.识别我们需要合并的文件。 2.从文件中获取数据。 4.对多个文件,重复步骤2-3。 5.将主数据框架保存到Excel电子表格。 导入库 现在,让我们看看如何用Python实现上述工作流程。我们需要使用两个Python库:os和pandas。 3.将主数据框架保存到Excel电子表格中。 可以通过检查df.head()来检查主数据框架,它显示了数据的前5行,如上图2所示。 还可以做另一个快速检查,以确保我们已经加载了数据框架中的所有内容。 合并同一Excel文件中的多个工作 在《使用Python pandas读取多个Excel工作》中,讲解了两种技术,这里不再重复,但会使用稍微不同的设置来看一个示例。

    35220

    Workbook工作簿对象方法(二)

    在使用时可打开多个excel工作簿文件,但只有一个excel文件是活动状态。当需要改变excel文件的活动状态时,可以使用workbooks集合的activate方法来激活一个工作簿。 保存excel工作簿,在VBA中主要是通过workbook工作簿对象的save方法和saveas方法 代码thisworkbook.save 表示保存代码所在的工作簿。 可以提供保存的路径,否则将保存到当前文件夹中。 3、参数FileFormat指定工作簿保存的格式。 4、参数Password指定保存的工作簿的密码,区分大小写。 在关闭工作簿时,如果excel有修改且没有保存,那么系统会在关闭前弹窗提示是否需要保存。如果不希望出现弹窗,可以通过设置close方法的参数来修改。 下面看下close方法的完整格式。 Workbooks("vba.xlsm").Close savechanges:=True通过简单的代码,可以实现直接保存之后关闭excel文件。

    1.8K20

    Python3 读取和写入excel xlsx文件 使用openpyxl

    参考链接: Python | 使用openpyxl模块写入Excel文件 python处理excel已经有大量包,主流代表有: •xlwings:简单强大,可替代VBA •openpyxl:简单易用,功能广泛 •DataNitro:作为插件内嵌到excel中,可替代VBA,在excel中优雅的使用python •xlutils:结合xlrd/xlwt,老牌python包,需要注意的是你必须同时安装这三个库 openpyxl 的使用 openpyxl(可读写excel)专门处理Excel2007及以上版本产生的xlsx文件,xls和xlsx之间转换容易 注意:如果文字编码是“gb2312” 读取后就会显示乱码,请先转成Unicode openpyxl定义多种数据格式 最重要的三种: NULL空:对应于python中的None,表示这个cell里面没有数据。 Excel文件三个对象 workbook: 工作簿,一个excel文件包含多个sheet。 sheet:工作,一个workbook有多个名识别,如“sheet1”,“sheet2”等。

    1.4K40

    关注

    腾讯云开发者公众号
    10元无门槛代金券
    洞察腾讯核心技术
    剖析业界实践案例
    腾讯云开发者公众号二维码

    相关产品

    • 对象存储

      对象存储

      腾讯云对象存储数据处理方案主要针对于存储于腾讯云对象存储COS中的数据内容进行处理加工,满足压缩、转码、编辑、分析等多种诉求,激活数据价值。

    相关资讯

    热门标签

    活动推荐

    扫码关注腾讯云开发者

    领取腾讯云代金券