VBA宏编程_宏代码怎么用

VBA宏编程_宏代码怎么用背景Office的编程语言较老,和现有高级语言相差较多,导致入门以及编写差异较大,编写和调试不方便,所以一直没考虑过使用VBA进行Office编程,但最近有个需求,是在无高级编程语言环境的内网主机上进行表格自动化处理,所以必须得用表格自带函数实现简单逻辑以及VBA实现复杂逻辑。…

大家好,又见面了,我是你们的朋友全栈君。

背景

Office的编程语言较老,和现有高级语言相差较多,导致入门以及编写差异较大,编写和调试不方便,所以一直没考虑过使用VBA进行Office编程,但最近有个需求,是在无高级编程语言环境的内网主机上进行表格自动化处理,所以必须得用表格自带函数实现简单逻辑以及VBA实现复杂逻辑。

需求

对A和B进行m次评分,计算A和B的最终评分。计算逻辑:不是去掉A和B各自的最高分和最低分,而是计算A-B差值的最高分和最低分(负值),去掉这两组数据对应的A和B的两组评分后,剩下的m-2次评分求均值,得到A和B的评分。
特殊情况:若A-B恒等于const,则算法需要考虑去掉评分后可能只去掉了一组评分,因为按照匹配算法来说,先后顺序匹配到了就认为是匹配到了,而不去判断去掉的两组评分是否是同一组。

VBA代码

请添加图片描述
请添加图片描述

总结

Excel比较老了,所以编程方法与高级语言相差较大,写程序不好写,比如数组是1开始索引,圆括号而非方括号取索引,类似matlab,取数组的值需要raw4(r,1)不能raw4®;
VBA是Office留下来的接口,对于复杂逻辑、自动化处理有用;
简单的逻辑还是使用Excel自带的内置函数实现,更好理解,缺点是只能写一行函数。
wps的宏启动需要联网,所以内网下启动不了宏;
Excel2003 支持宏运行,录制宏开始后进行表格操作,然后停止录制,点进去选择宏后编辑,进入IDE环境,可自动生成对应的VBA代码,可以参考,F1帮助手册;
pandas可以读取Excel进行精确的复杂逻辑操作。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/135462.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月3日 下午5:20
下一篇 2022年5月3日 下午5:20


相关推荐

  • accessors 作用_@Accessors介绍配置getter和setter

    accessors 作用_@Accessors介绍配置getter和setter前言今天在看 GitHub 某大神写的代码的时候看到一个标签并没有使用过 所有百度了一下使用方法在此记录一下 AccessorsAcc 的中文含义是存取器 Accessors 用于配置 getter 和 setter 方法的生成结果 源代码 Target ElementType TYPE ElementType FIELD Retention RetentionPol SOURCE

    2026年3月18日
    2
  • DetailsView使用DropDownList1

    DetailsView使用DropDownList1 DetailsView使用DropDownList1类型”>012300112233在插入(DetailsView1_ItemInserting)或更新(DetailsView1_ItemUpdating)事件中加入代码:stringstr=((DropDownList)DetailsView1.Rows[3].Cells[1].FindControl(“DropDownList1”

    2022年7月18日
    54
  • Android开发实战记录

    Android开发实战记录截取了项目开发中一些我认为比较好的代码片段 供大家学习

    2026年3月20日
    2
  • iis由于权限不足无法读取配置文件_iis500内部服务器错误

    iis由于权限不足无法读取配置文件_iis500内部服务器错误Response对象错误’ASP0251:80004005’超过响应缓冲区限制此ASP页的执行造成响应缓冲区超过其配置限制。因为页面中数据较多,有上千条,导致出现“超过响应缓冲区限制。此ASP页的执行造成响应缓冲区超过其配置限制”。如果response.buffer=false这样设的话,可以查出,但是好慢。怎么解决?我们可以加大Buffer的缓冲区,办法是:先在服务里关闭i…

    2022年10月20日
    3
  • mount CIFS return ERR -12 and report Cannot allocate memory[通俗易懂]

    mount CIFS return ERR -12 and report Cannot allocate memory

    2022年1月28日
    70
  • 判断是否为数组的 JavaScript 方法总结

    判断是否为数组的 JavaScript 方法总结前言我们在日常开发中 常常有判断某值类型需求 今天我们总结一下常见的几种用来判断是否为数组的 JavaScript 方法 Array isArrayArray isArray 是 ES5 新增的方法 用于确定传递的值是否是一个数组 如果是数组 则返回 true 否则返回 false letarr console log Array isArray arr true 下面的函数调用都返回 true Array isArray Array isArray 1

    2026年3月16日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号