首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

VBA新手教程:从入门到放弃(0)

很快第一单就上门了: 词频统计: A列是关键词的组合,关键词之间以空格连接。 在B列竖向输出A列所有的关键词,去重。 C列输出对应B列关键词的出现频率。...(当然以上是我经过理解之后表述的,跟可爱的客户沟通这4句话可能只花了2个小时) 前3项非常好写,难在了第4项,不会,咋办,网上查啊!然后直接copy代码!搞定!...前后用了30分钟,最后收获了100RMB啊哈哈哈哈哈哈可以吃顿金拱门了!...事实上所有的结构体都需要开头和结尾,不然计算机怎么知道你这东西到哪结束呢。而且以后我们会在这一张白纸上写很多个程序,注意哦是程序,所有每个程序之间的区分就靠End了。...5.在Sub和End sub之间写下一句惊天地泣鬼神的话 Sub 第一个代码() MsgBox ("Hello World!")

1.1K30

你只管提需求,大模型解决问题:图表处理神器SheetCopilot上线

首先,你尝试采用把各 Product 名称提取出来,然后用公式对各 Product 的收入求和。 搞了二十多分钟,SUMIF 一直报”#NAME?”的错误,遂放弃。...又花了二十多分钟,终于搞定。整个过程将近一个小时,效率不如人意。以后每次老板交个你新的表格处理任务,你之前的经验派不上用场,又得从头开始边查网站边做: (。...有了 SheetCopilot,你再也不用把鼠标滑过半张桌子的距离来选中超出屏幕的数据了,轻松让上千行数据在多张表之间辗转腾挪。...实验结果 表 1:在 SheetCopilot 数据集上对比 GPT-3.5-Turbo、GPT-4、Claude 以及生成 VBA 的方法。...GPT-3.5 和 GPT-4 轻而易举地解决了 Management(排序、筛选等表格管理操作)和 Entry & manipulation(数据输入与操纵)这两类任务,均取得了 100% 可执行率。

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

    Excel数据处理你是选择Vba还是Python?当然是选pandas!

    的高级用户,可能会觉得直接使用 字典+数组 的方式即可完成,但注意,直接 字典+数组 方式会导致代码难以维护 Python 的方案 上面说的 vba 方案,我大概花费了接近1小时的时间(vba...中编写类模块太繁琐了),期间有一个需求变动,得益于面向对象的优点,在几分钟内完成应对,并且无需要大范围做测试。...我使用 Python 的 pandas 包处理,在5分钟内搞定,并且代码有非常好的阅读性与扩展性。...而要使用追加模式,需要使用 openpyxl 引擎,因此需要设置 engine='openpyxl' 新增需求 在完成代码的情况下,如果需要在汇总结果中新增一列对单价列求平均,在 Python 的方案中...,只需要在定义 g_agg_funcs 中添加单价列的统计方式,如下: 如果是在 vba 方案中,目前的修改还是比较容易的(在 sku 类模块的 add 方法中添加逻辑),但是与 Python 的方案比较就显得低效得多

    3.5K30

    为什么python比vba更适合自动化处理Excel数据?

    而我本人一直保持一个观点,各种工具都有他的优劣势,抛开应用场景单纯说某个工具更好都是在耍流氓。今天,我就举例说明一下,哪些场景适合vba,哪些场景适合python。...初学者往往误以为操作 Excel 就是在处理数据,实际上是两回事。 需求是:"姓名与住址列内容通常很长,希望最终Excel显示的时候,使用缩小字体填充"。 对于这种格式化设置,vba绝对是最佳选择!...Sql 的表达更加简洁,但是实现如上的需求,你会发现他的表达顺序需要"绕"一下 有些不服气的同学会说:"我写出这段vba代码也就1分钟,反正也能得到正确结果" 当需求不断变化,你就会发现这样子的代码最终走向无法实现的死胡同...这就是提取逻辑的能力. ---- 通常来说,如果一段代码有些数据不是固定,我们可以提取成函数的参数,比如最简单的数字计算: 分别定义3个参数,让你输入,但计算方式是固定的 对于 vba 来说他同样可以做到...只要看"生还"列是否都为1就可以。

    3.8K30

    当AI遇到Excel

    为啥VBA这么厉害,我们却介绍的很少呢? 因为这个级别的功能,是有一点学习门槛的。 我们很难做到在平时短短千把字的文章中,把案例、代码、代码解析和相关的语法知识用图文并茂的方式一次性讲清楚。...下面这张图对于VBA的学习路径讲的很清楚了。 VBA的基础语法并不复杂,几个小时就能了解到七七八八。 你知道吗?...我有一个Excel表格,A列存储了很多很多人的名字, 这些人的同名图片就存放在"我的图片"的文件夹里面。 现在我想把这些图片,自动插入到B列里面。...比如刚才这个批量插入图片的例子,我隔了几分钟再问了一次。 好家伙,给我的代码,居然变量名用的是中文。 看来中文的地位一直在提高啊。...并且在以往的文章中,多次分享了这些心得。 今天,多位老师合力完成的《用ChatGPT和VBA一键搞定Excel》就是其中的成果之一。

    33020

    【续坑】如何心平气和地填坑之拿RSViewSE的报表说事(2)

    PLC内直接读回来标签数显示在表格内,定时存储到指定的位置,从而达到每天或每小时或每分钟记录一次报表数据的目的。...对于多种数据库,我们尽量同时讲述,方便我们相互比较他们之间的区别和相同之处。...第一步、记录数据 场景设计:以上阶段某水厂生产报表为例,将表格内所需数据按一定的时间周期存储到数据库内,然后提取出来显示在表格控件上,报表需实现能够按照时间和泵站编号方式查询历史数据。...、小时等 值变记录:顾名思义,只有在标签值发生改变时会记录。...还有个办法,就是在RSViewSE软件之外,使用高级语言编写一个exe程序,在该程序内实现对数据的读取和展示,RSViewSE软件只需要调用其即可。两种方式各有利弊,根据自己的能力选择使用。

    3K10

    vba新姿势,如何让vba的数据处理超越Python

    vba 代码执行效率与原有的"数组+字典"一致 说白了,就是要提升 vba 的开发效率(写代码的时间) 与 保持执行效率(代码执行时间) ---- 在固定逻辑中,插入自定义逻辑 上一篇文章的后半部分已经说明了为什么...首先,把关键逻辑提取出来成为方法: 方法名字以及里面的2个参数名字叫啥都可以 固定逻辑中,我们需要动态调用: 关键就是这个 application.run 方法 其中的 "test.each_group...以后你在新项目中要使用,只需要导入这个模块就可以。 这就是 vba 中实现插入逻辑的实现方式,非常简单。...分组关键列vba用的是列号,这只是我偷懒,实际可以改造成支持列名指定 而 pandas 代码自带输出表头,vba实际也能做到 可以说,代码上的多余表达两者都非常少,这需求可以说打个平手 那么,可不可以做成多关键列分组...额,是的,毕竟我只是用了几十分钟做的小模块,自然不能与人家整个社区做了几十年的积累相比。

    3.1K10

    暂停或延迟Excel VBA运行的3种方法

    2.延迟代码运行使得能够与外部事件(如数据库更新或web服务响应)进行协调,从而确保无缝集成和实时数据处理。 3.VBA中的暂停使得有时间在继续操作之前查看信息或做出决定。...4.在批处理操作之间延迟代码运行可以有效地处理大型数据集或对多个对象执行操作,同时控制资源消耗 5.在VBA代码中引入延迟有助于创建一个更可控的操作序列,允许脚本逐步执行或以特定的间隔执行,从而增强整个脚本代码的逻辑和精确度...在这两组任务之间,将使用Application.wait函数让VBA等待10秒钟。...在上面的代码脚本中,在两段VBA脚本之间放置了暂停代码,即Application.Wait Now+TimeValue(“00:00:10”)。...你可以按原样复制这句代码,并将其粘贴到两个任务之间的VBA代码中,如果需要多次暂停,可根据需要多次插入这句代码。

    4.3K30

    杂乱文本按”相似度“进行匹配?Power Query实现不难!

    最近,碰到好多个在问怎么实现两列杂乱文本按“相似度”进行匹配的问题。...首先,看看要进行匹配的两列简单数据,如下图所示。...这两列数据比较简单,都添加到PowerQuery里,并在每个表后面增加一列相同的内容做合并查询以生成两个表的全部可能匹配项(具体操作方法可参考文章《PQ-综合实战:根据关键词确定订单最大体积重量比》,在此不赘述...): 展开表后,分别对原表和对比表的名称进行拆解(关键函数:Text.ToList),如下图所示: 对拆解的内容提取相同的文字,函数也比较简单(List.Intersect)...List.Intersect、List.Count、List.Max,参考文章《Power Query里的数值计算(聚合函数与操作)》 3、分组操作及修改代码,参考文章《动态分组合并同类项内容》 4、表中某行某列的提取

    1.6K20

    AI办公自动化:用kimi提取Excel单元格中的中文

    Excel表格中有一个列,里面的单元格内容混杂着英文和中文,现在要把中文都提取出来: 在kimi中输入提示词: excel的A1单元格中有中文和英语,现在要在A2单元格写一个公式,将中文提取出来,比如:...kimi的回复: 在Excel中,如果你想提取包含中文的文本,可以使用一些文本处理函数。...Technology Co., Ltd 在A2单元格中输入以下公式: excel =LEFT(A1, SEARCH(" ", A1) - 1) 这里SEARCH(" ", A1)会找到A1中第一个空格的位置...方法2:使用MID和SEARCH函数(更复杂的情况) 如果中文和英文之间可能存在多个空格或其他字符,可以使用以下公式: 在A2单元格中输入以下公式: excel =LEFT(A1, SEARCH(" "...然后使用SEARCH函数找到这个替换后字符串的第一个位置,最后用LEFT函数提取到这个位置的文本。 方法3:使用VBA宏 如果你熟悉VBA,可以通过编写一个简单的宏来提取中文文本。

    30110

    自动化办公 | 快速从Excel中提取图片并匹配命名

    案例需求 一个群友在交流群里提出了这样一个问题 ? 这是他给出的示例文件,其中F列的商品编码,G列是商品图片。希望能够将G列的图片提取出来,并以同行的F列商品编码命名。 ?...网上python自动化提取Excel中图片的方法,其基本原理也是一样的。 所以大家如果遇到了这种需求,不妨先试试这种方法(包括在Word中提取图片也是同理) 但是这种解决办法在本案例中并不适用。...一共126行商品数据,但解压后只提取出了112张图片。 下面继续带大家尝试用不同办法解决这个问题? VBA 方法 有群友给出了VBA的解法: 先看实现的效果动图 ?...这里公布VBA代码,刚兴趣的同学可以自己学习研究一下 Sub 导出图片() On Error Resume Next MkDir ThisWorkbook.Path & "\图片"...所以无论VBA还是python,只要能真正解决我们实际问题的,都是自动化办公的好帮手。

    5.7K10

    VBA中的高级筛选技巧:获取唯一值

    标签:VBA,AdvancedFilter方法 在处理大型数据集时,很可能需要查找并获取唯一值,特别是唯一字符串。...例如,在一个有100000条记录的数据集中,其中可能包含数百个唯一字符串,如果将这些唯一记录提取出来,那么数据清理会变得更容易。...在VBA中,AdvancedFilter方法是处理这种情形的非常强大的一个工具。该方法可以保留原数据,采用基于工作表的条件,可以找到唯一值。下面,将详细介绍如何获取并将唯一值放置在单独的地方。...接通常做法,设置单元格区域,但要注意,VBA始终将第一行视为包含标题的行。如果数据没有标题,即第一个单元格是常规值,则第一个值可能会在唯一值列表中出现两次。 通常,我们只是在一列中查找唯一值。...另一个需要注意的是,如果要筛选的数据中有两列具有相同的标题,xlFilterCopy可能会将具有该名称的第一列复制两次到目标列(CopyToRange)。

    8.6K10

    简单的Excel VBA编程问题解答——完美Excel第183周小结

    6.在If... End If块中的某些VBA语句总会执行吗? 不一定,除非还有Else子句。在条件为False时,If … End If语句内的语句不会被执行。...16.过程中的局部变量能否在调用过程之间“记住”其值?如果要这样,怎么办? 能够,通过使用Static关键字声明变量。 17.VBA可以识别通用格式的日期,例如2020/11/11。...在VBA代码中,如何表明该值是日期? 通过将其括在#字符中。 18.哪个VBA函数用于为日期添加间隔? DateAdd函数。 19.哪两个函数用于搜索文本(在另一个字符串中查找一个字符串)?...21.字符“A”和“a”是否具有相同的ASCII值? 不是。同一字母的大写和小写具有不同的ASCII值。 22.如何从字符串开头提取一定数量的字符? 使用Left函数。...》的后续内容: 第9课:处理文本 第10课:使用Ranges和Selections 第11课:处理列(Columns),行(Rows)和单元格(Cells) 下周继续努力,争取推出更多有用的内容。

    6.6K20

    一个VBA自定义函数,使用文本格式连接唯一值单元格

    标签:VBA实用代码 一个单元格区域内有一组数字,这些数字中存在多个相同的数字,想要将这些数字中的唯一值提取出来并组合成一串数字文本,如下图1所示。...图1 可以使用VBA编写自定义函数来实现,代码如下: Function ConcatenateUnique(ByRef rngRange As Range, _ Optional ByVal...此函数在每个值之间插入分隔符字符串,默认分隔符设置为” ”。 这段代码来自strugglingtoexcel.com。通常,我们会考虑使用Dictionary对象,在连接符合要求的值之前获取唯一列表。...然而,这段代码另辟蹊径,使用了VBA中的InStr函数,在连接之前检查是否已将值添加到结果中,如果没有则添加。巧妙的实现方法!

    1.8K20
    领券