Excel VBA:使用公式自动填充多个单元格

2024-01-11

我有从不同文件中收集的大量数据。在本主要工作簿中,我为每个单元格设置了不同类型的公式。范围 A 到 F 是收集其他文件的数据的位置。在 H 到 AC 范围内,我有一个公式,每次输入新数据时,我都会通过手动向下拖动来自动填充公式。下面的代码是我使用的,它只有 6 个我想要自动填充的不同公式。

Application.ScreenUpdating = False

lastRow = Range("B" & Rows.Count).End(xlUp).Row
Range("D2").Formula = "=$L$1/$L$2"
Range("D2").AutoFill Destination:=Range("D2:D" & lastRow)

Range("E2").Formula = "=$B2/2116"
Range("E2").AutoFill Destination:=Range("E2:E" & lastRow)

Range("F2").Formula = "=$D$2+(3*SQRT(($D$2*(1-$D$2))/2116))"
Range("F2").AutoFill Destination:=Range("F2:F" & lastRow)

Range("G2").Formula = "=$D$2-(3*SQRT(($D$2*(1-$D$2))/2116))"
Range("G2").AutoFill Destination:=Range("G2:G" & lastRow)

Range("H2").Formula = "=IF($E2>=$F2,$E2,NA())"
Range("H2").AutoFill Destination:=Range("H2:H" & lastRow)

Range("I2").Formula = "=IF($E2<=$G2,$E2,NA())"
Range("I2").AutoFill Destination:=Range("I2:I" & lastRow)
ActiveSheet.AutoFilterMode = False

Application.ScreenUpdating = True

然而,在主工作簿中有大约 15 个不同的公式,我希望它在每次输入新数据时自动填充。我有多个主要工作簿,并且公式不是恒定的。为每个公式插入上面的代码是一件很痛苦的事情。有没有办法让程序自动往下拉呢?在主工作簿中,我已经写出了公式。我尝试了许多不同的代码来使其自动填充,但到目前为止,上面的代码是唯一一个可以正常工作且不会出现错误的代码。我尝试使用类似的东西或与此类似的版本,但没有一个有效:

With wbList.Sheets("Attribute - 10 mil stop")
    lastRow = Worksheets(ActiveSheet.Name).Range("B2").Rows.Count
    'Worksheets(ActiveSheet.Name).Range(Selection, Selection.End(xlDown)).Select
    Worksheets(ActiveSheet.Name).Range("D2:I2").Select
    Selection.AutoFill Destination:=Range("D2:I" & Range("B2" & Rows.Count).End(xlDown).Row)
End With

我把代码弄乱了很多。我什至不知道事情是否应该是这样的。感谢您的帮助!


您正在寻找的方法是FillDown。另一种不必每次都费尽心思的方法是将公式存储在字符串数组中。将它们结合起来为您提供了一种强大的方法来输入大量公式。代码如下:

Sub FillDown()

    Dim strFormulas(1 To 3) As Variant

    With ThisWorkbook.Sheets("Sheet1")
        strFormulas(1) = "=SUM(A2:B2)"
        strFormulas(2) = "=PRODUCT(A2:B2)"
        strFormulas(3) = "=A2/B2"

        .Range("C2:E2").Formula = strFormulas
        .Range("C2:E11").FillDown
    End With

End Sub

截图:

截至行结果:.Range("C2:E2").Formula = strFormulas:

截至行结果:.Range("C2:E11").FillDown:

当然,您可以通过将最后一行存储到变量中并将其转换为类似的内容来使其动态化.Range("C2:E" & LRow).FillDown,就像你所做的那样。

希望这可以帮助!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Excel VBA:使用公式自动填充多个单元格 的相关文章

  • 替换字符串变量中的多个字符 (VBA)

    如何替换字符串变量中的多个内容 这是我在 VBA 中的示例函数 Private Function ExampleFunc ByVal unitNr As String If InStr unitNr OE gt 0 Then unitNr
  • 如何将参数从 Excel/VBA 传递到 Rstudio 中的脚本

    我正在尝试使用 Rstudio 从 VBA 打开 R 脚本 同时将参数传递给 R 脚本 然后我可以使用 commandArgs 访问该脚本 该问题与此处描述的问题非常相似 WScript Shell 用于运行路径中包含空格且来自 VBA 的
  • 将 Excel 文件读入 R 并锁定单元格

    我有一个 Excel 电子表格要读入 R 它受密码保护并锁定了单元格 我可以使用 excel link 导入受密码保护的文件 但我不知道如何解锁 取消保护单元格 excel link 给了我这个错误 gt
  • VBA (Excel) 中 =Empty 和 IsEmpty() 有什么区别?

    我使用了以下 VBA 代码 Do While Cell i 1 lt gt Empty doing things i i 1 Loop 在 Excel 中迭代列 具有双精度 整数值 然后我发现了一种情况 每当单元格的值为 0 时 测试的计算
  • 如何隐藏组合框下拉列表中的列?

    我正在 Excel 用户窗体中构建一个 ComboBox 该用户窗体从 Access 表中获取其行 我想在下拉列表中向用户显示多个文本字段 但从 ComboBox 返回的值应该是与用户选择的行关联的 ID 号 即 ID 列是绑定列 但我不想
  • 如何区分列表框中显示的文本和实际值?

    我有一个带有多选选项的列表框 我使用以下方式填充它addItem功能 我在 Google 上找不到任何有关此内容的文章 但我需要区分列表框中显示的文本和实际值 例如 shown hiddenvalue monday A1 tuesday A
  • 插入行而不选择任何内容?

    我正在使用 VBA 希望在特定位置插入一行而不选择它 我遇到的问题是 选择该行后 当脚本运行完毕时 电子表格会向下滚动到该行 我希望能够在不将电子表格向下滚动到插入行的情况下执行此操作 Rows i i Select ActiveCell
  • 如何检查python xlrd库中的excel文件是否有效

    有什么办法与xlrd库来检查您使用的文件是否是有效的 Excel 文件 我知道还有其他库可以检查文件头 我可以使用文件扩展名检查 但为了多平台性我想知道是否有任何我可以使用的功能xlrd库本身在尝试打开文件时可能会返回类似 false 的内
  • 将 CURL 命令行转换为 VBA

    在 CURL 中 我可以使用这一行 curl data DataToBeSent https example com resource cgi 我正在努力将此类行转换为在 VBA 中使用 这是我到目前为止的尝试 Sub POST Metho
  • 如何使用 C# 了解 Excel 中的分页符 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在使用 C 创建并格式化 Excel 电子表格 因此我需要格式化 合并单元格 更改字体等 直到第一页的最后 如何知道 Excel 电子
  • 如何在 Excel 中创建 GUID?

    我需要一个函数来将 GUID 添加到 Excel 中的单元格 我发现stackoverflow 上的上一个问题 https stackoverflow com questions 7031347 how can i generate gui
  • VBA 中的 If 和 Or 多个语句

    我想将包含 14 列的 Excel 文件重新分配到正确的列 包含 12 000 行 为此 我必须使用一些 If And Or 语句将数字放入矩阵中 但显然我没有从中得到正确的东西 它使我的所有单元格为零 而具有值的单元格应保留该值 我哪里出
  • 从 CSV 中去除额外的文本限定符

    我有一个 CSV 其中某些字段由 符号分隔作为文本限定符 参见下面的例子 请注意 每个整数 例如 1 2 3 等 都应该是一个字符串 合格的字符串被 符号包围 1 2 3 qualifiedString1 4 5 6 7 8 9 10 11
  • 打开特定工作表上的 Excel 文件

    我有一个包含 5 个工作表的 Excel 文件 我想用 C 代码打开它 当它打开时 我希望激活第 3 页 我怎样才能做到这一点 像这样 using Excel Excel Application excelApp new Excel App
  • 将整个工作表复制到 Excel 2010 中的新工作表

    我发现了类似的问题 涉及复制一个工作簿中的整个工作表并将其粘贴到另一个工作簿 但我感兴趣的是简单地复制整个工作表并将其粘贴到同一工作簿中的新工作表 我正在将 2003 xls 文件转换为 2010 xlsm 用于在工作表之间复制和粘贴的旧方
  • VBA Excel如何在文本框中写入Excel公式

    如何将Excel公式放入文本框中 我尝试过这样的事情 Sub CivBox With ActiveSheet Shapes Civils 3 Copy C26 Activate Paste Shapes Shapes Count Name
  • 如何将工作表和范围作为变量传递?

    我想在子例程之间传递工作表的名称和范围 以下抛出 下标超出范围 错误 Sub This x Sheet1 y D3 MsgBox x Range y Value End Sub This is 我的项目资源管理器的示例 https i st
  • VBA FreeLibrary 不卸载 DLL

    当我使用完一个 DLL 文件后 我需要删除它 代码完成后清理 我尝试在 Excel VBA 中使用 LoadLibrary 和 FreeLibrary 但无论我做什么 Excel exe 都会坚持 DLL 文件 Public Declare
  • Excel:COUNTIF 函数将“小于”字符视为运算符

    预读说明 我使用的是 LibreOffice 而不是 Excel 但大多数功能应该适用于两者 我正在制作一个电子表格 其中有大量数据 对于每个属性 例如员工数量或姓名 我需要一个函数来计算包含每个不同值的行数 我已经提取了不同的值 现在我使
  • 在 BIRT 中导出的 Excel 中表格单元格的文本换行

    我在 eclipse 中使用 BIRT 4 4 1 来生成报告 我想包装表头的文本 它在网络查看器中工作正常 但是当我导出到 Excel 时 表单元格文本在一行中 并且文本也溢出 我不想使单元格宽度等于内容 我想根据其容器宽度来换行文本 我

随机推荐

  • 如何使用属性的 getter 方法上的 @XMLElement 覆盖在类级别指定的 JAXB @XMLAccessorType(XMLAccessType.FIELD)?

    在下面的示例代码中 Employee已使用 JAXB 字段级别访问类型指定了类 对于物业dept 但是 访问类型已在 getter 方法级别指定为 XMLElement注解 在编组期间组织类 抛出以下异常 com sun xml inter
  • Spring连接池问题

    我对 Java 和 Spring 没有经验 我尝试编写一个使用 JdbcTemplate 进行数据访问的程序 我使用DBCP池 这里是
  • ObjC、Facebook 页面 - 发布新闻源有效,但发布照片无效

    所以我试图从 iPhone 应用程序在我的 Facebook 页面 我是管理员 上发布照片 我正在使用 FB Sessions 创建会话 获取读取权限 获取管理页面权限 然后 我成功获取我的 Facebook 页面应用程序 ID 因为 FB
  • Android 谷歌云消息传递示例无法正常工作

    我正在关注这里的教程http developer android com google gcm gs html http developer android com google gcm gs html为了设置 GCM 我目前正在尝试注册设
  • AMO OLAP 查询绑定

    根据业务逻辑 有时我需要更改多维数据集中的客户维度的源表 以前我使用以下代码更改多维数据集的结构 MyServerDataSourceView Schema Tables DimCustomers ExtendedProperties Qu
  • 提高 R 代码有效性的技巧

    我正在使用 Reddit 的 API Pushshift 编写一个循环 在 R 中 来抓取 Reddit 帖子 本质上 我希望每小时获取从现在到 20 000 小时前包含 特朗普 一词的所有评论 API 将注释存储在 JSON 框架中 我在
  • python 脚本的 setuid/setgid 包装器

    我有一个 Python 脚本 我希望能够以系统用户身份运行guybrushUID 200 和组guybrushGID 200 目前我的Python脚本 位于 path to script py 看起来像这样 usr bin env pyth
  • 嵌入 Youtube 播放列表,但从随机视频开始

    我已经做了很多搜索 但到目前为止找不到解决方案 我有一个 YouTube 播放列表 我想将其嵌入到网站上 但我不想总是从第一个视频开始 而是希望它从随机视频或至少一个特定视频开始 我可以使用服务器端代码随机选择 我查看了 iframe 嵌入
  • 切换类并从所有其他元素中删除类

    如何切换类并从所有其他元素中删除类 考虑一个包含标签的 div html div class size a href blahblah a a href blahblah a div jQuery size a click function
  • RStudio:在编写 RMarkdown 文档时禁用源窗口中代码的输出

    我最近更新了 RStudio 在源窗口中编写 R Markdown 文档时 每当我在 RMD 块中运行代码时 输 出都会以以下方式显示在源窗口本身中 当有巨大的情节时 它会变得太混乱 如果可能的话 希望禁用此功能并恢复为仅在控制台 绘图查看
  • 如何防止 Javadoc 中出现包私有接口?

    我有一堂这样的课 package org jjerms thing interface IThing void doSomething final class Thing implements IThing This Javadoc pre
  • DeleteFile 对最近关闭的文件失败

    我有一个单线程程序 C Win32 NTFS 它首先创建一个相当长的临时文件 关闭它 打开读取 读取 再次关闭并尝试使用删除DeleteFile 通常情况下进展顺利 但有时DeleteFile 失败 并且GetLastError 返回 ER
  • WTForms 使用 SelectField“解压太多值”

    我正在使用 WTForms 我正在尝试显示SelectField 但我收到以下错误 gt gt gt form status Traceback most recent call last File
  • boost::asio get_io_service() boost 1.70+ 中的替代方案

    我想使用一个图书馆 https github com onlinecity cpp smpp https github com onlinecity cpp smpp 并且它基于 boost 1 41 但在我们的项目中 我们使用的是 1 7
  • 当应用程序在后台或未运行时,推送通知无法正常工作

    我正在使用 Firebase Cloud Messaging 发送推送通知 这是我的FirebaseMessageService public class FireBaseMessageService extends FirebaseMes
  • 是否可以使用 jQuery 来调用 Google 地图 API?

    以下不起作用 get http maps googleapis com maps api geocode json sensor false region nz address queen function response console
  • 是否有可能在任何地方抛出异常的 STL 容器方法列表?

    我知道 STL 会抛出内存分配错误 或者如果包含的类型在其构造函数 赋值运算符中抛出异常 否则 显然 一些 STL 方法可能会引发其他异常 每个人似乎都提到的示例是 vector at 但我在任何地方都找不到其他示例的列表 有谁知道这样的清
  • WPF 应用程序中的 Log4Net 设置

    我不敢相信我不得不问这个 但这里是 我正在尝试在新的 WPF 应用程序中设置 log4net 但由于某种原因 它没有创建日志文件并记录任何内容 所以这是我到目前为止所做的步骤 添加来自 nuget 的最新版本 v2 0 8 0 参考后 在
  • Java相当于app.config?

    Java 中是否有相当于 NET 的 App Config 的工具 如果没有 是否有标准方法来保留应用程序设置 以便在应用程序分发后可以更改它们 对于 WebApps web xml 可用于存储应用程序设置 除此之外 您还可以使用特性 ht
  • Excel VBA:使用公式自动填充多个单元格

    我有从不同文件中收集的大量数据 在本主要工作簿中 我为每个单元格设置了不同类型的公式 范围 A 到 F 是收集其他文件的数据的位置 在 H 到 AC 范围内 我有一个公式 每次输入新数据时 我都会通过手动向下拖动来自动填充公式 下面的代码是