Excel VBA计算列的平均值

2023-12-27

我想计算一列的平均值并将值放在下面。
我用VBA编写了这段代码,但返回值始终为0。

Sub Macro4()
'
' Macro4 Macro
'
' Keyboard Shortcut: Ctrl+Shift+C
Dim sum As Integer
Dim count As Integer
count = 0
sum = 0
Do While ActiveCell.Value <> ""
    ActiveCell.Offset(1, 0).Activate
    sum = sum + ActiveCell.Value
    count = count + 1
    Loop
ActiveCell.Value = sum / count
ActiveCell.Offset(0, 5).Select
Selection.End(xlUp).Select
Selection.End(xlUp).Select
End Sub

正如@Tahbaza 指出的,除非你ActiveCell位于行的顶部,它只会从活动单元格所在的列中的行开始计数。

您的代码还有一个错误,因为它不会在循环的第一次迭代中计算活动单元格,因此平均值中将丢失该值。

我已经修复了以下代码集中的两个问题,但是还会有其他改进(即不使用Select根本)如果不是为了下面的建议。

Sub Macro4()
   '
   ' Macro4 Macro
   '
   ' Keyboard Shortcut: Ctrl+Shift+C
   Dim sum As Integer
   Dim count As Integer
   count = 0
   sum = 0
   Selection.End(xlUp).Select              '<---Go to the top of the range
   Do While ActiveCell.Value <> ""
       sum = sum + ActiveCell.Value
       count = count + 1
       ActiveCell.Offset(1, 0).Activate    '<---Move down *after* you done the sumcount
   Loop
   ActiveCell.Value = sum / count
   ActiveCell.Offset(0, 5).Select
   Selection.End(xlUp).Select
   Selection.End(xlUp).Select
End Sub

您可以使用一行代码实现您想要的结果,如下所示。这假设您希望求平均值的单元格是连续的并且没有空单元格。它还假设您的值从工作表的第一行开始并且必须至少有两行值.

Sub ColumnAverage()
    Cells(1, ActiveCell.Column).End(xlDown).Offset(1, 0).Value = Application.WorksheetFunction.Average(ActiveSheet.Columns(ActiveCell.Column))
End Sub

编辑:事实上,如果您愿意,不需要静态值,但可以在列的最后一个单元格中使用工作表函数公式。它有点像野兽,但如果你把它分解,它应该是有道理的:

Sub ColumnAverageFormula()
    Cells(1, ActiveCell.Column).End(xlDown).Offset(1, 0).Formula = "=Average(" & Cells(1, ActiveCell.Column).Address(0, 0) & ":" & Cells(1, ActiveCell.Column).End(xlDown).Address(0, 0) & ")"
End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Excel VBA计算列的平均值 的相关文章

  • 我可以使用 VBA 将密码“传递”到 Excel 中的外部数据库连接吗?

    我正在尝试使用 VBA 隐藏我在 Excel 工作表中设置的数据连接的密码 由于 Excel 以纯文本形式存储外部数据源的密码 因此我想让 VBA 调用表的刷新并提供密码 我录制了刷新表格并输入密码的宏 但令我沮丧的是 它似乎省略了密码部分
  • 是否有任何公式可用于将特定单元格复制指定次数?

    目前我正在处理一份数据 其中我有一个公司名称列表 例如 1 A 2 B 3 C 还有很多 需要的结果是 1 A 2 A 3 A 4 A 5 A 6 B 7 B 8 B 9 B 10 B 11 C 12 C 13 C 14 C 15 C 等等
  • xlwt 可以在单元格中创建一个包含标题和链接变量的超链接吗?

    例如 如何更改以下行 使 test 为变量 T 且 http google com http google com 是变量L ws write 0 0 xlwt Formula test HYPERLINK http google com
  • 如何使用 C# 在 MS Excel 单元格中添加数字验证

    我的目标是限制用户在 MS Excel 单元格中仅输入 1 到 100 范围内的值 我正在以编程方式生成 Excel 文件 但是当我添加上述验证时 抛出异常Exception from HRESULT 0x800A03EC 我写的代码如下
  • 参考上一个问题:为什么 VBA 没有加载所有发票详细信息

    除了上一个问题之外 我们在销售发票上仍然存在相同的加载失败问题 下面的 VBA Json 仍然仅加载一行或第一个产品详细信息行 而不是与表中该销售发票合作的所有产品行详细信息 我们希望下面的 VBA 能够根据参数加载发票详细信息 例如 如果
  • 索引匹配不起作用

    对于下表 如果 A 列和 B 列都匹配 如何检索 C 列A 列 B 列 C 列城市 1 城市 10 本地城市 2 城市 21 远程城市 3 城市 1 远程城市 4 城市 2 本地 我尝试使用索引和匹配 但得到 N A Enter as an
  • 导入到 SQL Server 时忽略 Excel 文件中的列

    我有多个具有相同格式的 Excel 文件 我需要将它们导入 SQL Server 我当前遇到的问题是 有两个文本列我需要完全忽略 因为它们是自由文本 并且某些行的字符长度超出了服务器允许我导入的长度 这会导致截断错误 因为我的分析不需要这些
  • 根据其他列中的条件对列中的唯一值求和

    A B 1 Total 1 900 2 Product A 700 3 Product A 700 4 Product B 300
  • 如果一个数字写在方括号中,例如[5],这意味着什么

    我正在开发一个旧版 VBA Excel 应用程序 并偶然发现了一些代码行 其中长字符串 从文件中读取 被切成碎片 这些行看起来像这样 Range E16 Value Mid line 49 6 显然 写 6 意味着需要 6 个字符 但我从未
  • VBA全局类变量

    我的障碍是试图让多个子程序识别类变量 当我尝试全局声明它们时 出现编译错误 无效的外部过程 然后 当我运行公共函数或子函数来声明变量时 它们在其他子函数中保持未定义状态 我希望多个子程序能够识别变量 因为它们的值应该通过用户窗体进行更改 然
  • 打开 Excel 工作簿时自动运行 VBA 代码

    我有 VBA 代码 我想在打开 Excel 工作簿时运行 我尝试在代码应该运行的工作表中创建一个公共过程 Public Sub Workbook Open Some code here End Sub 工作簿打开时它不会运行 它应该在其中一
  • 如何获取 pandas 数据框并覆盖 Excel 工作簿中的特定工作表

    我想获取一个数据框并让它替换特定工作表中的现有数据 假设为sheet1 然后我想获取另一个数据框并将其附加到另一张工作表上的数据 比如说同一工作簿中的sheet2 目前 我必须将数据写入新的 Excel 工作簿 我无法在线找到如何实际替换我
  • 如何获取数据透视表的 ListObject 对象?

    这个问题最初是作为answer https stackoverflow com a 21321664 2712565作者 休 西格雷夫斯 Hugh Seagraves 关于相关问题的文章 他 想要引用一个工作表上的列表对象 表格 而另一工作
  • Sharepoint Server 对于 Excel Services 或 Excel Web Access 是必需的吗

    Excel Services 和 Excel Web Access 随 Microsoft Office SharePoint Server 2007 一起提供 我想知道是否可以在不运行 Sharepoint Server 的情况下使用 E
  • 查看 Excel 是否处于 .NET 中的单元格编辑模式的解决方法

    我有一个用 VB NET 编写的应用程序 它通过互操作与 Excel 进行交互 我最终遇到了单元格编辑模式的已知问题 请参阅 and 堆栈溢出 https stackoverflow com questions 221984 how to
  • Excel ISNUMBER 函数与 IF 语句

    我有一个正在使用的 Excel 文件 有一个列包含数字和文本 有时只是其中之一 我正在尝试编写一个函数来扫描单元格的最左侧部分以查看它是否以数字开头 我以为我拥有它 但显然没有 这就是我所拥有的 IF ISNUMBER LEFT E8 1
  • Excel Add In - console.log 在哪里输出它的消息 - NodeJS

    我正在尝试使用 JavaScript API 创建 Excel 插件 但我不明白 console log 在哪里输出它们的消息 所有 Microsoft 文档都包含 console log 示例 但没有解释 console log 输出消息
  • 通过 Excel VBA 保存并关闭 powerpoint

    下面的代码根据定义的名称创建多个图表 然后打开具有这些定义的名称的 powerpoint 文件并转储到图表中 除了最后一部分之外 一切都正常 保存并关闭文件 我已将尝试保存和关闭文件的尝试标记为绿色 任何帮助表示赞赏 Sub Slide19
  • VB:在 Adob​​e Illustrator、Photoshop 中分配给布尔属性

    在使用 VBA 自动化 Adob e Illustrator CS3 时 我发现分配一个布尔变量 to a 布尔属性结果总是分配 False Dim New Path As Illustrator PathItem Dim v As Boo
  • VB FFT - 难以理解结果与频率的关系

    试图理解我正在使用的 fft 快速傅里叶变换 例程 窃取 回收 输入是 512 个数据点的数组 它们是样本波形 测试数据生成到该数组中 fft 将该数组变换到频域 尝试理解频率 周期 采样率和 fft 数组中位置之间的关系 我用例子来说明

随机推荐

  • 如果 edittext 包含该单词,如何为 Android 文本的一部分着色

    只要用户在编辑文本中输入 house 我就会尝试为单词 house 着色 这就是我所做的 if textA getText toString equals house String name String valueOf textA get
  • C++ 中 .inl 文件的含义

    在 inl 文件中进行声明有哪些优点 我什么时候需要使用相同的 inl文件从来都不是强制性的 对编译器没有特殊意义 这只是构建代码的一种方式 为可能阅读代码的人提供提示 I use inl文件分两种情况 用于内联函数的定义 用于函数模板的定
  • Symfony 控制器无法访问容器

    因此 我重新安装了 Symfony 3 尝试设置一些 API 路由 但我无法访问控制器内的容器 我的控制器从基本 Symfony 控制器扩展而来 它具有ContainerAwareTrait 但是当我尝试做时 this gt contain
  • Chrome 打包应用程序无法与 jquery 和 jquery mobile 配合使用

    使用 jQuery 1 10 2 和 jQuery Mobile 1 3 2 我尝试使用以下简单的 html 创建一个 chrome 打包应用程序 div div 有两个问题 首先 jQuery 将拦截加载 events js 的脚本标签并
  • Elastic beanstalk 上的 psycopg2 - 无法部署应用程序

    我正在将我的第一个应用程序 Flask 部署到 EB 但遇到了障碍 使用 PostgreSQL 需要我安装 psycopg2 但我不知道如何让它运行 我在这篇文章中看到 Amazon Elastic Beanstalk 上的 Psycopg
  • django-two-factor-auth 无法访问管理站点

    我正在将 django two factor auth 用于网络应用程序 我无法访问管理页面 我知道我输入了正确的凭据 当我输入不正确的凭据时 我会收到相应的错误消息 当我输入正确的凭据时 页面会使用以下 URL 重新加载 http loc
  • Rails:不是 ember,不是 JS 响应,而是介于两者之间的东西

    我正在开发一个标准的 Rails 应用程序 到目前为止我还没有使用任何 AJAX 只是使用了很好的 HTML 我的计划是迭代地添加 远程 链接和所有此类内容以及对 JS 响应的支持 因为我知道生成 JS 服务器端是非常非常邪恶的 但我发现它
  • 在 PHP 中压缩 GIF 图像质量?

    如何在 PHP5 中压缩 GIF 图像文件 我知道可以像这样使用 JPG imagejpeg resource filename quality 根据http us php net manual en function imagejpeg
  • JavaScript 中测试给定参数是否为平方数的最佳方法是什么?

    我创建了一个函数来测试给定的参数是否是平方数 在这里阅读有关平方数的内容 https en wikipedia org title Square number https en wikipedia org title Square numb
  • 如何将 summarise_each 应用于除一列之外的所有列? [复制]

    这个问题在这里已经有答案了 我正在分析一组包含许多列 近 30 列 的数据 我想根据两列对数据进行分组 并将求和函数和均值函数应用于除时间戳之外的所有列 如何在除时间戳之外的所有列上使用 summarise each 这是我的代码草案 但显
  • Javascript 注入浏览器

    每当我访问任何页面时 我都会使用 4g wifi 互联网 它会不断加载 当我查看页面的源代码时 会发现代码中注入了一个脚本 请帮助它真的很烦人 我刚刚发现这是我的 ISP 在浏览器中注入了 javascript 所以我通过使用解决了这个问题
  • Java 枚举方法到 Delphi

    public enum HTTPHeaderKey CACHE CONTROL Cache Control CONNECTION Connection TRANSFER ENCODING Transfer Encoding HOST Hos
  • 在 SQL Server 2008 中存储数组

    我正在使用 SQL Server 2008 基于服务的数据库 开发联系人管理应用程序 大多数联系人都有多个电子邮件或多个电话号码 那么有没有办法在 SQL Server 中将数组存储为数据类型呢 或者有人有这种方式的替代方法吗 您需要创建单
  • 如何在Java中创建任意数字组的笛卡尔积?

    假设我有 2 组数字 1 2 3 4 5 我想创建一个算法 用Java 输出以下6种组合 1 4 1 5 2 4 2 5 3 4 3 5 可以有任意数量的组以及每个组内任意数量的成员 因此 在上面的示例中 有 2 个组 第一个组有 3 名成
  • FCM(Firebase 云消息传递)使用 Asp.Net 推送通知

    我已经推送了GCM使用消息到谷歌服务器asp net在下面的方法中 使用 Asp Net 的 GCM 推送通知 https stackoverflow com questions 11261718 gcm push notification
  • pageLoad() 未在使用 .NET 4.0 的动态加载页面中触发(在 3.5 上工作正常)

    我有一个简单的 aspx 页面 其中有一个链接可以在右侧 div 上加载另一个 aspx 页面 使用 JQuery 加载 如下所示
  • 证明二叉树中重复调用 successor() 的效率?

    我需要 CLRS 算法书中关于此练习的提示 证明无论我们从高度为 h 的二叉搜索树中的哪个节点开始 k对 Tree Successor 的连续调用O k h time Let x是起始节点并且z是之后的结束节点k连续调用 TREE SUCC
  • 如何使用 jquery 将 css 变换添加到当前变换值?

    目前我有一门具有转换值的课程rotate 57deg 当警觉时 div 1 css transform 它给出矩阵值 div class div 1 Test div 我需要添加scale 1 1 到现有的变换值使用 jQuery 所以 d
  • 检查网络响应是否来自服务器或 Chrome 缓存

    在 Google Chrome 中 如何检查哪些文件是从浏览器缓存提供的 哪些文件来自服务器 在 Chrome 开发者工具中 切换到 网络 选项卡 在 大小 列上 它会显示下载内容的大小 或者显示 来自磁盘 内存缓存
  • Excel VBA计算列的平均值

    我想计算一列的平均值并将值放在下面 我用VBA编写了这段代码 但返回值始终为0 Sub Macro4 Macro4 Macro Keyboard Shortcut Ctrl Shift C Dim sum As Integer Dim co