说到Excel的SUM函数,我估计只要用过Excel的,应该没人不知道了,SUM函数多简单啊,点一下自动求和,自动就能定位好范围,回车就完成了。...它无法用于 ByVal、ByRef 或 Optional ParamArray修饰符,是一种不定长的参数,就是你在函数中参数用逗号分隔开,函数内部收到的其实就是1个数组,所以我们在用SUM函数的时候,你可以不停的用逗号分隔需要相加的单元格...这种修饰符给代码的编写提供了极大的便利,像C语言里的printf函数一样。 SUM函数的不定长参数也和第1个参数一样,可以输入多种形式。...,具体参看官方文档,这里没有使用if判断,而改用了Select Case,这种和if的逻辑差不多,但更方便判断这种多类型的。...程序通过判断num1的数据类型来决定如何处理: 像vbError这种都当作0处理 vbString为了和Excel的SUM相同进行了一些特殊判断,使用IsNumeric判断它是否是纯数字的文本,是的情况转化为数字处理
`方法在VBA中用于向工作表上的某个范围添加新的条件格式规则。...这意味着你必须首先选定一个范围,然后才能调用`Add`方法来添加条件格式。...- `Formula1` 和 `Formula2` 是可选参数,用于提供给定类型的条件格式规则的公式。它们可以是单元格引用、数值或文本字符串。...- `Operator` 也是可选参数,用于指定比较运算符,仅当`Type`为`xlCellValue`且需要比较时才需要此参数。...【我的代码】 1.下面是利用条件格式的VBA代码 Sub 条件格式定位60_80() ' ' 条件格式定位 宏 Dim ws As Worksheet Dim rng As
当你每天花费很多时间手动更新Excel工作簿,或者经常处理涉及到财务或者重要任务的工作簿时,你应该学习如何使用编程语言使流程自动化。...执行这种嵌套函数调用与其他编程语言的工作方式没有什么不同,只是在单元格中编写代码,而不是在文本文件中编写代码。...如果你有多个一直在使用的函数,可能希望在工作簿之间共享它们。跨工作簿共享VBA代码的标准工具是加载宏,但VBA加载宏缺乏一种可靠的分发和更新方式。...虽然Microsoft引入了Excel网络加载宏商店来解决该问题,但这只适用于基于JavaScript的加载宏,因此VBA编码人员没有选择。这意味着在VBA中使用复制/粘贴方法仍然非常常见。...假设你意外地删除了带有换算公式的D4单元格,并且必须重写它:不是将金额乘以汇率,而是除以汇率。当运行上述测试时,将会失败,因为100欧元/1.05将不会像测试预期的那样再产生105美元。
使用VBA编写用户自定义函数,不仅可以在程序中进行调用,还可以像Excel内置的工作表函数一样,在工作表公式中使用。...图1 在Excel中,只用于提供用户自定义函数的加载宏称为函数库加载宏,这是最简单的一类加载宏。这样,只要安装了函数库加载宏,就可以在工作表中使用其所包含的自定义函数了。...2.在转换成加载宏之前,先使用Application.MacroOptions方法来注册自定义函数。 3.Excel将内置函数进行了分类,将函数归于不同的类别中,以方便查找和使用。...下图3列出了函数类别号和对应的名称,其中类别号为10-13的在“插入函数”对话框中一般不会显示。在将自定义函数指定为这些类别后,它们才会在“插入函数”对话框中出现。 ?...该方法的优点是可以完全控制自定义函数的描述及类别的各个方面,但XLM的宏字符串(包括名称、描述及其他信息等)的长度不能超过255个字符,因此使用该方法对自定义函数的描述文本不能太长。
,Word和PPT也能进行VBA编程。...准备工作 Excel默认是没有打开宏功能和VBA编程功能的,因此需要打开一下。...依次点击【开发工具】 → \rightarrow →【Visual Basic】 左侧看到如上图所示目录,双击【Sheet1】、【Sheet2】、【ThisWorkbook】都可以打开编程窗口,但程序作用范围不一样...Loop是Visual Basic中的循环语句之一,当逻辑条件为真时进入循环,当逻辑条件为假时退出循环。本程序中这个循环是为了一行行遍历Sheet1这张表,直到最后一个学生。...这里采用的逻辑条件是Not IsEmpty(Sheet1.Range("A" & i)),其中IsEmpty()是用于判断是否为空,为空时返回true,否则返回false,但我们希望当不为空时继续循环,
(2)字符串区分大小写 我们前面说过VBA中的变量大小写不敏感,即:变量Aa = 1 和变量 aA = 10会被认为是同一个变量被赋不同的值。但是,大家要记得字符串是区分大小写的。...image.png (3)纯数字和文本数字二者不等价 大家听到这些叫法似乎有点懵,我第一次听到也和你们一样完全懵圈,心想这是傻X吗,数字就数字,还分什么纯数字和文本数字? 非也,非也!...image.png 我们可以看到,文本数字相加的符号是「&」,即:字符串连字符,主要用于将多个字符或字符串连接起来,形成新的字符串。...至于,字符串有没有其他诸如减乘除的运算操作,由于这块工作中基本不涉及,而且也没有想明白字符串的乘除会涉及哪些使用场景,所以没有查询相关资料进行研究。...另外,我们要注意区分一字之差的「空串」和「空格串」的区别。 image.png 3.总结 所谓VBA字符串就是多个字符连接起来。
大家好,上节的实例中引出变量的概念,变量是用于保存程序运行过程中的临时保存的数据和对象。根据保存的数据的不同的类型,变量也就有不同的类型。...大部分基本数据类型,在EXCEL平时使用时也会了解到类似的,比如数值、日期/时间、文本、货币等等。那么VBA在这些基础上还增加了字节、布尔和变体数据等等。...1、字符串(String) 字符串是一个字符序列,类似于EXCEL中的文本,在VBA中字符串是包括在双引号内的(英文双引号),如果字符串双引号内长度为零,即“”就是空字符串。...8、日期型(Date) 日期范围为100年1月1日至9999年12月31日,时间范围为0:00:00至23:59:59 9、变体型(Variant) 变体型数据时所有没有被声明为其他类型变量的数据类型,...下面会简单介绍下枚举型和用户自定义类型,先只做了解即可。 ? 二、枚举类型 ? 当一个变量只有几种可能的值时,可以将其定义为枚举类型。
我将描述三种不同的完全通用的元编程方法,看看它们是如何在泛型系统空的不同方向进行扩展:像Python这样的动态语言,像Template Haskell这样的过程宏系统,以及像Zig和Terra这样的阶段性编译...然而当垃圾收集器查看存储在通用结构中的数据时,它需要区分指针和整数,所以用1位(指针不会有这1位)来标记整数,只留下31位或63位的范围。...而且,这只是某些像CPython这样的解释器的工作方式。如果你看一眼像V8这样的高性能JIT是如何实现的,它的做法就类似vtables和反射信息!...我不知道有什么语言使用这种技术,但是C++编译器和Java虚拟机在使用profile-guided优化来了解某个通用调用点主要作用于某些类型的对象时,会做类似的事情。...编译期函数 D的模板有很多扩展,允许你使用编译期函数评估和静态if等功能,可以使模板的行为就像函数一样,在编译时接受一组参数,并返回一个非通用的运行时函数。
标签:VBA,Split函数 使用VBA时,有可能需要根据分隔符将字符串拆分为不同的部分。此时,就可以使用VBA的Split函数。...Split函数是ExcelVBA中的内置字符串函数,可用于根据分隔符拆分文本字符串。...可以使用类似的代码在VBA中创建一个自定义函数,该函数将文本作为输入并返回单词数。...图6 示例5:获取文本中指定的字符串 使用VBA中的Split函数,可以指定要使用结果数组的哪个部分。 下面是一个自定义函数的代码,可以在其中指定一个数字,它将从数组中返回该元素。...图7 注意,当所有地址的格式都一致时,这个自定义公式最合适——即城市总是在第一个逗号后出现。如果数据不一致,就不会得到想要的结果。
好了,现在你可以使用Excel处理数据,并使用Python处理相同的数据。将Excel用作用于组织和可视化数据的交互式操作,无缝切换到Python以使用更复杂的功能。...指定获取值时要使用的数据类型,例如%xl_get --type numpy_array。 -x或--no-auto-resize。仅获取选定范围或给定范围的数据。不要扩展到包括周围的数据范围。...这用于在使用Python函数构建的Excel中构建模型,这些函数当然可以使用其他Python库(例如pandas和scipy)。 你也可以在Jupyter笔记本中编写Excel工作表函数。...return desc 现在,你可以编写复杂的Python函数来进行数据转换和分析,Excel中如何调用或排序这些函数。更改输入会导致调用函数,并且计算出的输出会实时更新,这与你期望的一样!...在Excel中使用Python而不是VBA的脚本 你是否知道在VBA中可以执行的所有操作也可以在Python中完成?编写VBA时将使用Excel对象模型,但是Python也提供相同的API。
与大多数CTF取证挑战不同,现实世界的计算机取证任务几乎不会涉及解开巧妙编码的字节、隐藏数据、文件夹中的mastroshka文件或其他复杂的问题。...当然,像大多数CTF一样,理想的环境是一个Linux系统。如果你愿意使用Windows系统也行,不过不建议用Mac系统。 ...初始分析 在搜索文件中的所有纯文本字符串时要用到一些有用的命令字符串,比如,grep是用来搜索特定的字符串,bgrep是用来搜索非文本数据模式和hexdump。 ...这就是所谓的二进制到文本编码。当对上述文件进行字符串分析时,你可能会发现编码为文本字符串的二进制数据。 ...但恶意的VBA宏不会很复杂,因为VBA通常只是作为一个跳出平台来引导代码执行。 如果宏被模糊化并且具有解压缩程序,则不需要拥有Office许可证来进行调试。
恰巧,最近在一本比较专业的书上找到关于Excel函数、VBA以及Power Query在数据导入、清洗、转换方面的一些描述和对比,翻译如下,供参考: - 黑魔法的好处和危险 - Excel可用多种不同的技术来实现魔法般的数据处理...虽然公式往往被大多数Excel用户使用,但公式的复杂性因用户的经验和思路差异很大。 Visual Basic应用程序(VBA)——这种强大的语言可以实现强大而动态的数据转换。...VBA技术往往被高级用户使用,需要掌握一整套的语法规则。 SQL语句——SQL是操作数据的另一种强大的语言,特别是用于选择、排序、分组和转换数据。...虽然可以使用这些工具来建立自动化的原始数据导入解决方案,但这往往需要经过多年的高级语言学习以及耗费大量的精力来进行范围界定、开发、测试和维护相应的解决方案。...当涉及到数据导入、清洗和转换以便分析时,您学会Power Query的速度比Excel公式还要快,用于处理多种复杂数据源等情况时,比VBA要容易的多。
以这种方式思考——程序应该做的任何事情都可能做错。 虽然VBA会向你报告错误,但没有对于bug的处理机制。发现bug的唯一方法是测试你的程序,然后再次测试。...尽管这种类型的变量似乎可以简化某些编程任务,但它们容易出现问题。几乎所有需要全局变量或公共变量的情况都可以使用过程参数和函数返回值进行处理。 必要时,请确保对数字变量使用浮点数据类型。...当VBA处于中断模式时,你可以执行其他调试操作,如以下各节所述。当VBA在断点处停止时,该行以黄色突出显示。 VBA在执行包含断点的行之前停止。...大多数bugs是由于变量取不正确的值和/或程序执行分支不正确造成的。 可以在程序中的任何位置设置断点,以强制程序在该点暂停。 当程序在中断模式下暂停时,可以单步执行代码以查找错误。...VBA的监视可让你在程序执行期间跟踪程序变量的值。 自我测评 1.运行时错误与程序错误有何不同? 2.如何在代码中设置断点? 3.逐语句执行命令和逐过程执行命令有什么区别?
下面会分别说明VBA中的四种运算符,顺带说下通配符,最后介绍运算符的优先级,即不同种类运算符同时出现时的运算顺序。...以及整除 \ 和MOD求模运算。整除\即两数相除取商的整数,如5\2=2。mod求模运算时指两数相除取余数,如5 mod 2 =1,经常用于判断奇偶性。...like的语法写法时字符串1 like 字符串2,当字符串1和字符串2匹配时,就返回true,否则返回false。...like在应用中常结合通配符使用(excel函数中也涉及类似的的内容)下面说一下通配符的相关内容: *代替任意多个字符,如“特朗普” like “*朗*” =true ?...H-J]”=false 3、连接运算符 连接运算符是用来连接两个文本字符串的,有+和&两种。 +运算符的两边都是文本字符串时,执行连接运算,如“4”+”5“,两边均为字符串,结果是45。
设计软件时,如果愿意,可以复用这些方式方法来解决一些常见问题。这看起来像传统建筑工程师的工作方式,对典型的场景都定义有可重用的解决方案。例如,访问者模式常用于分离程序的算法和它的操作对象。...好几家报纸机构,比如《纽约时报》《卫报》以及《世界报》都订阅了新闻,他们希望当接收的新闻中包含他们感兴趣的关键字时,能得到特别通知. 3、1 传统方式 首先,需要一个观察者接口,它将不同的观察者聚合在一起...但是带来的好处也显而易 见,在创建对象时不用再担心会将构造函数或者配置暴露给客户,这使得客户创建产品时更加简单: Product p = ProductFactory.createProduct("loan..."); 5、2Java8方式 java8后可以像引用方法一样引用构造函数。...,函数式编程具体实践了声明式编程(“只需要使用不相互影响的表达式,描述想要做什么,由系统来选择如何实现”)和无副作用计算,这两个思想能帮助更容易地构建和维护系统。
对于不懂 Excel 里面各种函数调用、宏、VBA 语言的用户而言,基于 Copilot,可以直接用“人话”(自然语言),提出各种问题,然后它会推荐一些实用的公式。...像 Excel 一样,PowerPoint 中的 Copilot 也能通过自然语言输入,直接实现动画切换和重新设置文本格式等等。...像 Word 文档一样,Outlook 中的 Copilot 生成的文本可以被编辑,所以它更多的是帮助你打草稿,而不是直接给你提供一个固定的模板内容。...当然边走边学也是需要保障的,微软的首席科学家 Jamie Teevan 表示,"当系统出错,或有偏见,或被滥用时,我们有缓解措施。我们正在处理长期的影响和新的风险,如越狱。...我们会犯错,但当我们犯错时,我们会迅速解决。"
使用此语法时,还可以使用字母来引用列,用双引号(“”)将字母括起来。除了引号(“”)(围绕字母),不需要像使用Range属性时那样使用其他引号。...其逻辑与解释将Range属性应用于Worksheet对象或Range对象时的不同行为的逻辑相同。...当使用VBA执行某些工作时,Cells属性和将变量用作参数的功能非常有用,常见的情形就是这些工作要使用循环时。...偏移行和偏移列参数都基于“表达式”表示的Range对象左上角单元格偏移。 Offset属性的工作方式意味着它只能应用于Range对象。换句话说,没有Worksheet.Offset属性。...VBA使用这些参数来确定要从最初指定的区域移出多少行和列。 与Cells属性一样,Range.Item属性也不受指定区域单元格编号的限制。
End If块中的某些VBA语句总会执行吗? 不一定,除非还有Else子句。在条件为False时,If … End If语句内的语句不会被执行。...IIf函数评估条件,如果为True,则返回一个值;如果为False,则返回另一个值。 9.如何确保Do... Loop语句中的语句至少执行一次? 仅当条件置于循环末尾时,才能保证语句至少执行一次。...在VBA代码中,如何表明该值是日期? 通过将其括在#字符中。 18.哪个VBA函数用于为日期添加间隔? DateAdd函数。 19.哪两个函数用于搜索文本(在另一个字符串中查找一个字符串)?...21.字符“A”和“a”是否具有相同的ASCII值? 不是。同一字母的大写和小写具有不同的ASCII值。 22.如何从字符串开头提取一定数量的字符? 使用Left函数。...》的后续内容: 第9课:处理文本 第10课:使用Ranges和Selections 第11课:处理列(Columns),行(Rows)和单元格(Cells) 下周继续努力,争取推出更多有用的内容。
添加配置信息,但自定义属性,它的容量有限,且内容存储仅为文本型且有长度限制。...自定义属性 当需要存储复杂的结构如图片二进制数据时,用自定义属性就无能为力了,像Excel催化剂在上一波中提及的PictureBox关闭后不能存储的问题,如果需要存储其图片信息,供下一次打开文件时重新以...CustomXMLPart对象模型 虽然有此对象,但其要求的数据类型是xml,在VBA环境里操作xml将是个非常痛苦的事情,但在VSTO上操作,简直不能再简单的事情。...使用方式大概是先Add一个CustomXMLPart,然后使用LoadXML方法即可把xml内容加载到此对象中,下次访问时,只需访问其XML属性,即可将xml内容取出(文本格式)。...数据有效性验证功能中,验证规则及验证的单元格范围信息 数据辅助录入功能中,辅助数据源及对应的录入单元格范围信息 多级层级联动功能,多级数据源及对应的录入单元格范围信息。
相比较来说,matlab的矩阵就非常简洁了,至于支持矩阵运算和向量化的函数,这个各个软件基本都差不多。...SAS有一些函数的默认跟其他软件不太一致,比如merge函数,其他软件一般是默认内连接,只保留匹配到的,但sas默认是外连接的。...而且因为数据库中是可以通过between语句进行时间点和时间范围的匹配的,SAScreate table之后也可以,比如A表里每行是具体的年月日,B表里每行是起止时间段,这两个表是可以根据起止时间段匹配的...VBA是比较特殊的一门语言,内嵌在OFFICE中,是VB的简化版,不仅仅是针对EXCEL了,WORD,PPT里都可以用,有时候也叫宏,基本是一样的,只不过VBA是码的,宏是录的。...所以我一般能录就录,能不写就不写,录的逻辑是,你可以在excel把你想通过代码实现的功能操作一遍,编译器里会自动生成代码,直接运行的话效果跟操作时一模一样的,再稍微改一改就可以用了。
领取专属 10元无门槛券
手把手带您无忧上云