2.这些掌握了,你才敢说自己懂VBA 3.VBA变量5年踩坑吐血精华总结 4.VBA中重要的强制申明,谁看谁明白 5.VBA掌握循环结构,包你效率提高500倍 6.精通VBA分支结构,少写程序100行...我们根据上述案例的特点,并结合之前For循环结构和IF分支结构的2个知识点,首先将这个案例的代码写完(大家肯定都会写,我就直接展示了)。...所谓「断点」就是当VBA遇到手动设置的「断点」,运行中的程序将会自动停止,并「批黄断点处代码」,等待下一步执行指令。...在VBA编辑器中,依次点选「调试」-「逐语句」,当然最高效的方法是使用快捷键「F8」 image.png (4)鼠标悬停变量处,自动显示当前变量的值 在代码过程中,我们将鼠标悬停在变量上,VBA编辑器将自动提示当前变量的取值...比如监控的是什么,当前监控内容的值;监控内容的类型,相关内容大家在实操后,自行探索查看即可 image.png (5)综合利用上述调试功能,快速查找代码出错原因 当我们将上述代码一行行执行,在「i
我们根据上述案例的特点,并结合之前For循环结构和IF分支结构的2个知识点,首先将这个案例的代码写完(大家肯定都会写,我就直接展示了)。 运行程序,看下结果 这什么鬼,VBA你这又来侮辱我的智商吗?...所谓「断点」就是当VBA遇到手动设置的「断点」,运行中的程序将会自动停止,并「批黄断点处代码」,等待下一步执行指令。...在VBA编辑器中,依次点选「调试」-「逐语句」,当然最高效的方法是使用快捷键「F8」 (4)鼠标悬停变量处,自动显示当前变量的值 在代码过程中,我们将鼠标悬停在变量上,VBA编辑器将自动提示当前变量的取值...(4)「添加监控」让VBA调试更贴心 我们在VBA选项卡依次点选「调试」-「添加监控」 在弹出的「添加监控」的表达式填写需要监视的内容即可,然后点击右侧「确定」按钮,比如:本案例中需要监控「变量i」的值变化...比如监控的是什么,当前监控内容的值;监控内容的类型,相关内容大家在实操后,自行探索查看即可 (5)综合利用上述调试功能,快速查找代码出错原因 当我们将上述代码一行行执行,在「i = 9」发现,根据分类方法
认识VBA编辑器 编辑器中每个模块的基本用法如下: 工具栏:编辑器命令栏,与 Excel 功能区域类似,包含 Excel VBA 开发相关的命令。...插入/删除模块 在一个 VBA 工程中想要插入新的模块时,可在 VBA 工程右键,选择插入类型即可。...[初始值] 和 [结束值] 是给定的值; [步长] 是每次循环时,变量的增量。如果为正值,变量增大;如果为负值,变量减小。 下面看一个实际的例子,求 1 至 10 数字的累积和。...循环的指定条件在 While关键词后书写。 Do While … Loop循环,根据 While 关键词后的条件表达式的值,真时执行,假时停止执行。...[条件表达式] 一旦为假,则停止循环,程序执行 Loop 关键词后的代码。 看一个实际的例子,还是求 1- 10 累积和。
01 — 什么是动态交互式图表 通过巧妙地设计和布局,综合地运用函数、控件或编程为用户提供交互手段,当用户点击时,在图表上做出相应反馈,实现交互式数据分析。...其实,动态交互式图表并不是什么新奇事物,追根溯源,其原理和知识体系可概括为如下: 从过去几篇文章大家可能会注意到,我个人是比较喜欢用切片器作为选择器,以VBA(数据透视表更新事件)作为抽数引擎的。...、单选按钮,常用来进行单值切换,复选框常用来进行逻辑判断,数值调节钮和滚动条常用于模型的压力测试,切片器则用于切片数据透视图或者与数据透视表更新事件配合使用。...只需简单的数据透视表及插入切片器的操作,即可完成,不用编写任何VBA代码(VBA焦虑的小伙伴们可以松一口气了)。 Excel切片器是2010版本后增加的新功能,其常与数据透视表/图配合使用。...:更改标题,更改图表类型为条形图,设置为逆序类别,取消网格线和X轴标签, 添加蓝色数据标签。
支持 XLAM / XLSM / XLSX / XLTM / XLTX 等多种文档格式,高度兼容带有样式、图片(表)、透视表、切片器等复杂组件的文档,并提供流式读写 API,用于处理包含大规模数据的工作簿...SetConditionalFormat 支持设置带有“如果为真则停止”和“图标集”条件的条件格式规则设置条件格式函数 SetConditionalFormat 支持设置在条件格式中使用带有纯色填充样式的数据条...:LEFT, LEN, LENB, MID, MIDB, RIGHT 和 RIGHTB,相关 issue #1476计算单元格的值函数 CalcCellValue 函数对于存在错误的公式将在计算结果中返回公式错误代码...,并将详细错误信息在 error 数据类型的返回值中返回,相关 issue #1490对输入图片文件的扩展名调整为大小写不敏感,相关 issue #1503使用流式写入器流式按行赋值时,对于值为 nil...XML 命名空间地址的工作簿主题,相关 issue #1447提高了与文档内部不含工作簿关系部件工作簿的兼容性,以修复打开此类工作簿可能出现的 panic问题修复修复了特定情况下读取日期时间类型单元格的值存在精度误差的问题修复了特定情况下当修改原本存储了日期时间类型的单元格为文本类型值
相比较其他的开源类库,Excelize 支持写入原本带有图片(表)、透视表和切片器等复杂样式的文档,还支持向 Excel 文档中插入图片与图表,并且在保存后不会丢失文档原有样式,可以应用于各类报表系统中...gitee.com/xurime/excelize 中文文档: xuri.me/excelize/zh-hans 2019年10月9日,社区正式发布了 2.0.2 版本,该版本包含了多项新增功能、错误修复和兼容性提升优化...Excel 文档中嵌入包含函数和宏的 VBA 工程 函数 SetPageLayout() 增加适应页面宽高属性支持,相关 issue #432 函数 SetSheetViewOptions() 现在支持...“值为零的单元格是否显示零值” 属性的设置 函数 SetCellFormula() 增加了对公式类型和引用属性的设置支持 增加带有删除线字体样式的创建支持,相关 issue #482 问题修复 修复部分情况下读取批注内容文本不完整的问题...修复在循环迭代中调用 Save() 方法保存导致的文档损坏问题,解决 issue #443 提升文档内部 workbook.xml.rels 中相对路径格式解析的兼容性,解决 issue #442 修复部分情况下
在不使用VBA的情况下,一般有两种方法可以让图表动起来。 第一种方法比较简单,就是用切片器直接控制数据透视图表的方法,这种方法只适用于有切片器功能的Excel 2010以上版本。 ?...第二种方法是使用控件、公式改变静态图表数据源的方法。这种方法是在切片器出现前就存在的传统方法,缺点是制作起来比较麻烦,而且要保证公式引用区域及控件链接区域始终正确有效,限制条件较多。...优点是适用的图表类型广泛,不仅适用Excel自带的传统图表,就连需要特别制作的自定义图表(比如地图)也同样适用。 ?...如果把BI报表比作一盘菜,那么VBA程序就是菜中的调味料,有了“调味料”,“菜”才能更有味道。...例如可以用VBA将环形图自动填充至折线图中的不同节点处,完成折线环形图的快速嵌套制作: ? 还可以利用VBA写一段Funcation函数用以返回切片器筛选值,令阅读者一目了然掌握当前筛选项状态: ?
该服务将会运行一个Mach服务器,并允许客户端使用Mach IPC接口来与服务器端通信(发送和接收信息)。...0x1000响应缓冲区基本上为r14,用户输入从偏移量0x38处开始,所以剩下的0xfc8 字节即为用户输入区域,当输入数据填充至0xfc8处时,strlen将会返回相同的值。...经过计算之后,最终的值为 0xfcc [ ((0xfc8 + 1) + 3) & 0xfffffffc]。...但是这里的数据泄露效果不是很显著,因为大小仅为0x1000,而写入操作需要在0x1004处完成,这也就意味着程序只能从后续数据块中读取4个字节的数据。...这里有几个限制,首先是输入数据中不能包含空字符,因为这将导致strlen在空字符处停止。另一个限制是在缓冲区结束后写入的数据将始终是var_dc的内容,这部分内容就是sub b30返回的错误代码。
前言 一、可能的错误原因 二、错误代码示例 三、解决方案 方案一:检查变量是否为None 方案二:使用异常处理 方案三:提供默认值 方案四:检查操作数类型 总结 前言 在Python编程中,TypeError...通常表示在执行操作时使用了不兼容的数据类型。...TypeError 错误发生在尝试对不支持的操作符使用不兼容的数据类型时。例如,当你尝试将整数与None类型进行乘法操作时,就会遇到这种错误。...错误的类型转换:在类型转换过程中可能产生了错误,导致期望的整数类型变成了None。 逻辑错误:在条件判断或循环中可能存在逻辑错误,导致在不应该使用None的地方使用了它。...,则使用1作为默认值 result = 5 * value # 即使value为None,这里也不会抛出TypeError 方案四:检查操作数类型 在执行操作前,添加类型检查,确保操作数类型符合预期。
Index+Match中,Match用以确定数据所在的行值和列值(查找姓名所在的行,查找身份证号所在的列,行列交汇的数据就是要匹配出来的数据),Index负责调出由Match确定的行值和列值交叉位置确定的唯一数据...操作方式:选中字段下的数据—右键单击选择【创建组】-创建“起始于”和“终止于”对应的数值,也可采用自带的年、季度、月等组合方式。 ? 切片器:一枚切片器,轻松控制多个数据透视表,数据展现随心而动。...操作方式:选中数据透视表中任一数据——【分析】选项卡—插入切片器—右键单击切片器—报表连接—勾选需要控制的多个表格。 ? 综合运用上面的功能,一张人员基本情况分析的看板就实现了。 ?...设置:产值:图表类型为-带数据标记的折线图 环比增长:图表类型为-簇状柱形图,勾选次坐标 ? (2)设置柱形图的填充颜色为蓝色,并添加数据标签。...点击选中次坐标,在设置坐标轴格式中,更改坐标轴的最大值为1,即100%;点击环形图的数据点以后,单击鼠标右键,选:添加数据标签;选中数据标签后,在设置数据标签格式中,更改标签位置为:居中。 ?
v2 路径下查找库 Go 的“语义导入版本”机制:通过在包导入路径中引入主版本号的方式,来区别同一个包的不兼容版本,这样一来我们甚至可以同时依赖一个包的两个不兼容版本。...直接初始化:类型写在等号右边,花括号包围初始值;可以省略长度,编译时推导;也可以指定下标赋值,只设置某个值 数组声明时不赋值,会初始化元素为零值 item 的地址是连续的 在 Java 中类型校验这么严格...) //添加 6 个,超出容量,翻倍,元素个数为 5 + 6 printSlice(sl) //数组与切片类型不兼容:Cannot use '[5]int {1,2,3,4,5}' (type [...为了合理使用内存,编译器可能会给结构体中填充数据(和 C/C++ 类似),包括两种: 字段填充:让字段的地址可以被自己的类型占用字节数整除 尾部填充:保证每个结构体变量的地址是一个值的整数倍,这个值是...结构体内最长字段的长度 和 系统内存对齐系数 的最小值 64 位处理器上,内存对齐系数一般为 8。
在不使用VBA的情况下,一般有两种方法可以让图表动起来。第一种方法比较简单,就是用切片器直接控制数据透视图表的方法,这种方法只适用于有切片器功能的Excel 2010以上版本。 ?...第二种方法是使用控件、公式改变静态图表数据源的方法。这种方法是在切片器出现前就存在的传统方法,缺点是制作起来比较麻烦,而且要保证公式引用区域及控件链接区域始终正确有效,限制条件较多。...优点是适用的图表类型广泛,不仅适用Excel自带的传统图表,就连需要特别制作的自定义图表(比如地图)也同样适用。 ?...如果把BI报表比作一盘菜,那么VBA程序就是菜中的调味料,有了“调味料”,“菜”才能更有味道。...例如可以用VBA将环形图自动填充至折线图中的不同节点处,完成折线环形图的快速嵌套制作: ? 还可以利用VBA写一段Funcation函数用以返回切片器筛选值,令阅读者一目了然掌握当前筛选项状态: ?
Yeah, 【准备工作】网上学习到有两种方法:一是VBA调用OutLook控件进行发送,这要在电脑中安装Office OutLook,(可惜我的电脑没有安装),一是VBA调用CDO控件,再利用QQ邮箱发送...,好了 QQ邮箱设置: 打开mail.qq.com---设置---帐户---开启POP3---生成授权码 复制出授权码 下面开始设计我自己的工具啦,我们的口号是VBA使工作效率更高 【工具界面】...设定: (1)发送邮箱:自己设定固定 (2)授权号:自己设定固定 (3)邮箱名称:自己设定固定 (4)邮件主题:每月不同 (5)Mail_To邮箱:程序循环读取 (6)邮件内容:程序循环读取 (7)...Else ' MsgBox Err.Description, vbInformation, "邮件发送失败" '如果出错,则提示错误类型和错误代码...返回值Variant说明如果点击了取消,返回false 语法:'Application.GetOpenFilename(文件类型筛选规则,优先显示第几个类型的文件,标题,是否允许选择多个文件名)表达式.
注意观察对话框中的各种选项,这里我们都采用默认值 点击“确定”后,一个空的数据透视表出现在了新工作表中: ?...分别对当前“值”列表中的几个字段,点击其右侧的i图标 因为本例中无需计算其默认的“求和”,故将这几个字段的“汇总方式”都改为“平均值” ?...将字段的汇总方式改为“计数” -- 虽然在此处并无太多实际意义 5 利用切片器过滤数据 除了可以在“数据透视表生成器”中指定若干个“过滤器”,切片器(Slicers)也可以用来过滤数据,使分析工作更清晰化...切片器的创建非常简单: 在 Ribbon 中点击“插入切片器”按钮 在字段列表中选择“胜”、“负” 两个切片器就出现在了界面中 ? 点击切片器中的项目就可以筛选 结合 ctrl 键可以多选 ?...8 总结 本文简单的展示了在 Excel 中创建透视表的过程,以及其筛选、展示数据的方式 通过 VBA 可以完成和手动创建一样甚至更多的功能,并大大提高工作效率
编译速度:Go 的编译器可以快速编译代码,这可以提高开发者的生成效率。 跨平台编译:Go 支持跨平台编译,可以很容易地为不同的操作系统构建应用程序。...复合类型: 数组:如 [n]T 是包含 n 个 类型为 T 的值的数组。 切片:[]T是具有动态大小的序列,提供了一种灵活、强大的接口来序列化相同类型的元素。...这种显式的类型转换需要源类型和目标类型在底层表示上是兼容的。 5. 什么是 Goroutine?如何停止它?...切片(Slice):make用于创建一个指定元素类型、长度和可选的容量的切片。例如,make([]int, 0, 10)创建一个整型切片,长度为 0,容量为 10。...在内部实现中,带缓冲的 channel 使用了一个循环队列来存储和传递数据。 一个 ring buffer 是一种数据结构,它按循环方式在一段固定大小的内存上存储数据。
涉及代码可读性、Python的标准库和包管理器、科学计算堆栈、现代语言功能以及跨平台兼容性。 可读性和可维护性 如果你的代码是可读的,这意味着它很容易理解,特别是对于那些没有自己编写代码的局外人来说。...例如,Excel2016增加了自动化PowerQuery的支持。一种在二十多年前就停止发展的语言正在失去过去几年在所有主要编程语言中引入的现代语言概念。例如,VBA中的错误处理确实显示了它的时代。...如果你是一名精通VBA的开发人员,可能还喜欢Python支持类继承这一事实,这是VBA中缺少的面向对象编程功能。 除了现代语言特性外,现代编程语言还有另一个要求:跨平台兼容性。...VBA编辑器中的“工具->引用”以添加引用,你几乎总是在处理仅在Windows上运行的代码。...Python具有Excel中缺少的令人信服的特性:标准库、包管理器、科学计算库和跨平台兼容性。
我们无须在VBA代码中硬编码条件,我们可以构建一个新表,其标题与数据区域中的标题相匹配,然后,将筛选需求添加到此表中。第I列和第J列显示了新表,如下图2所示。...图2 不需要包含每个标题,也不必为表中的每个标题指定条件。示例数据区域有7个字段,而条件区域表只有City和Amount,甚至没有为后者输入限制条件。...条件区域中的空行将匹配所有数据记录,这不是我们想要的。相反,Excel将空白单元格(此处为J2)解释为任何值。由于J2在此处为空,因此所有金额(Amount)均有效。...输出区域 唯一的强制参数Action有两个可能的值:XlFilterInPlace和XlFilterCopy。...如果不执行此操作,将出现“运行时错误’1004’:提取范围有一个缺少或无效的字段名”错误。
2.这些掌握了,你才敢说自己懂VBA 3.VBA变量5年踩坑吐血精华总结 4.VBA中重要的强制申明,谁看谁明白 5.VBA掌握循环结构,包你效率提高500倍 6.精通VBA分支结构,少写程序100行...我的天台式微笑还没上扬嘴角,基础不牢,地动山摇。 是的,所有语言的数据类型就那么几种,而字符串就是其中重要的一种,也是基础中的基础,值得我们好好研究。 1.什么是VBA字符串?...VBA字符串是一个字符序列,类似于Excel中的文本。 这个含义简单明了,我们可以等价理解为:VBA字符串就是多个字符连接起来。...因为有些语言兼容灵活性高,比如:python中的字符串用英文单引号、英文双引号括起来都行。用英文引号括起来的主要目的是为了对变量和字符串作出明确的区分,最大程度的降低程序出错概率。...(2)字符串区分大小写 我们前面说过VBA中的变量大小写不敏感,即:变量Aa = 1 和变量 aA = 10会被认为是同一个变量被赋不同的值。但是,大家要记得字符串是区分大小写的。
在collections模块中也包含了针对各种数据结构的解决方案。 对切片命名 「我们的代码到处都是硬编码的切片索引,我们想将它们清理干净」 即通过对切片变量的定义,把可变的部分抽离出来。...感觉和heapq模块中的函数nlargest()和nsmallest()有些类似 >>> rows = [ ......()内置函数,参数是 callable 类型,从rows中接受一个单一元素,然后返回被用来排序的值,itemgetter() 函数就是负责创建这个 callable 对象的。...在每次选代的时候,它会返回一个值和一个选代器对象,这个选代器对象可以生成元素值全部等于上面那个值的组中所有对象。 「一个非常重要的准备步骤是要根据指定的字段将数据排序」 。...Boolean 选择器序列作为输入参数.然后输出 iterable 对象中对应选择器为 True 的元素当你需要用另外一个相关联的序列来过滤某个序列的时候,这个函数是非常有用的 >>> addresses
当代码与此应用程序的版本或体系结构不兼容(例如文档中的代码面向 32 位 Microsoft Office 应用程序,但它试图在 64 位 Office 上运行)时,通常会发生此错误。...这是因为,VBA 版本 6 和更早版本完全以 32 位平台为目标,而且通常包含 Declare 语句,这些语句调用的 Windows API 使用 32 位数据类型的指针和句柄。...因为 VBA 版本 6 和更早版本没有用于指针或句柄的特定数据类型,所以,它使用 Long 数据类型(一种 32 位 4 字节的数据类型)来引用指针和句柄。...64 位环境中的指针和句柄为 8 字节 64 位数。这些 64 位数不能包含在 32 位数据类型中。...为解决此问题,以使 VBA 代码能同时在 32 位和 64 位环境中正确运行,新版 VBA 中增加了几项语言功能。
领取专属 10元无门槛券
手把手带您无忧上云