Excel

使用Excel VBA调用Outlook的 Send时,在较新的Office 365版本中会触发错误80004005

我有一段Excel VBA代码,用来发送邮件,已经稳定运行了好几个月,甚至谈不上有几年那么久。 最近(首次在一台PC上于上周三观察到)向SMTP地址发送邮件失败,出现错误代码80004005(来自法语的翻译): 无法识别一个或多个名称 使用相同的数据和相同的VBA代码在同一个工作簿中发送邮件,在其他电脑上仍然可以正常工作。 现在,在我测试过的所有电脑上都出现了这个错误。 他们在Windows 11上使用Office 365。 Copilot分析的最后结论是,Outlook现在出于安全原因在发送邮件前需要经

用Excel Power Query从网上每日获取并自动更新的数据表

背景: 我在野外火灾防控领域工作,想帮助一位希望追踪预测火情指数并将其与随时间的观测指数进行对比的消防官员。我们使用的系统是FEMS,但它不记录历史预测,只记录观测值。另一个工作簿已经使用Power Query从网页获取当前数据。 详情: FEMS的天气和火情指数每小时和每日更新,我们通过以下Power Query进行拉取——请注意,URL指向一个CSV文档: let Source = Csv.Document(Web.Contents("https://fems.fs2c.usda.gov/api/ex

在工作簿中找到了工作表,但代码停止运行

我的代码会创建若干公式检查,从一个名为NL20的选项卡开始。 Dim ws As Worksheet Set ws = wb.Worksheets("NL20") 'my code running here, creating formula checks 在对工作表NL20进行公式检查结束后,我希望它能够检查是否存在工作表NL21和/或工作表US12,并在这些标签页上创建类似的公式。若不存在NL21和/或US12,这段代码应停止运行。下面是NL20选项卡完成后的检查。它可以正确地找到每个选项卡的名称,但

Range.Find方法似乎莫名其妙地不起作用

我有一个包含大量数据列的工作簿。我想把它改成使用已分配的列变量来代替数字,因为如果需要之后再添加列,数字会让事情变得非常麻烦。 所有列在第3行都带有标签,我正在使用Range.Find.Column方法来分配变量,但不知为何,部分标签找不到,从而导致运行时错误91:对象变量未设置。下面是所用代码的一个示例。这是以这种方式分配的第9个变量,但这是第一个出现错误的。 Set rng = Sheets("Log").Range(Cells(3, 1), Cells(3, tc - 1)) hepricec =

使用ADODB向已关闭的Excel文件写入数据时,插入的行会应用错误的格式

我想用一个作为用户表单的Excel文件中的VBA,把数据写入另一份作为数据库的Excel文件,且不打开它。 数据库Excel文件在第一行有表头,带有特定样式,后续行的数据格式各不相同。 我本可以使用Workbooks.Open方法打开数据库Excel文件再写入,但这会引发一些我想避免的问题。 我在不打开该文件的情况下写入它,使用ADODB连接和 INSERT INTO SQL命令。 我原本希望它能以上一行的样式插入新数据,或至少使用工作表的默认样式(即如果在Excel中手动打开该文件并添加新行时看到的样式

我遇到了这个错误:错误1004,对象 _Global的 Range方法失败

我正在编写一段代码,将数据从一个工作簿提取到另一个工作簿。但我遇到了错误 错误1004:对象 _global的 Range方法失败 该错误在调试时出现 "'This will find the last Row of the Tracker sheet Range("A2:P2000" & l_Row).Copy. 代码: Sub Get_Abc_Rates_Collate() Dim n As Integer Dim wb As Integer Dim master As String Dim User

如何把文档中的格式化数据转换成可用的电子表格?

我手头有一些数据来自源站点,格式看起来像PDF,但实际上是CSV形式。 如你所见,每个学生都有一个“头部信息块”,其中包含多列,用来概括姓名、地址、年级等信息。学生的姓名总是在第一个课程名称上方的五行位置。 我想把它整理成一个比较合理的格式,如下所示: 学生姓名 学年 科目 级别 评定周期 分数 Doe, Jane 2025 - 2026 宗教 6 T1 97.4 Doe, Jane 2025 - 2026 阅读/文学 6 T1 95 Doe, Jane 2025 - 2026 语言 6 T1 94.9

在一个8×12的表格中,如何根据六种不同的单元格值来改变形状的颜色?

我正在尝试在Excel中创建一个由形状组成的图像,表示一个96孔板,其中图像中每个孔的颜色会根据在一个8x12的单元格表(B2:M9)中所选择的结果而变化。这个表的每个单元格可以输入6 种可能的结果,我希望把它们与在图像中变化的形状颜色对应起来:生长(黄色)、无生长(白色)、协同效应(绿色)、加性效应(蓝色)、无差异(灰色)和拮抗(橙色)。 96-cell table (8x12) 96孔板图像由96个独立的形状组成,我想根据对应孔在96单元格的8x12表中的结果来改变它们的颜色。这个板图像同样设置为8

在VBA中根据单元格的值删除多行

我正在尝试从我们的销售导出文件中删除部分零成本条目,但不是全部。 如果常规项被包含在一个“捆绑包”中,那么组成该捆绑包的项(依赖项)也会在报告中作为捆绑包下的零成本项列出。我需要仅在它们处于捆绑包中时,删除依赖项的每一条记录。我们还有其他需要计入的零成本项,而这些依赖项本身是单独销售的,必须保留。 我们有很多名为“Bundles”的捆绑包,因此我用一个演示示例来说明需求。共有两个捆绑包——Spaghetti有两个依赖项,Omelette有三个: 物品 成本 Orange 4 Spaghetti 12 Pa

在Excel的 VBA类模块中创建Word文档的故障排除

由于种种原因,我现在正在把一些代码重构为更面向对象的方式。我立刻遇到了以下问题:当类模块的 Create 方法创建新的Word文档时,它并未被赋值给 doc 变量(或我尝试的其他任何设置变量的方式都不行)。它会从类模块的代码跳出,回到主执行流程。 Option Explicit Private doc As Word.Document Private Sub Class_Initialize() 'pass End Sub Private Sub Class_Terminate() 'pass End S