excel, 熟悉了一般应用的函数,为何还有必要学vba

news/2024/7/21 4:30:35 标签: excel

背景:

1. win10, office 2016, hp Elitebook笔记本电脑 

2. 统计数量时,在sheet (工作表)页面使用函数 sum通过类似 sum(c6:c8) 进行求和,例子见图片或附件。即使使用 “数据透视表” 进行求和,依然不能把C7(例子数据,见下图) 中的数据有效识别为数字。
后续通过人工对比才发现,有一个单元格的数据没有被统计进去。因为结果被用来支付款项,造成给了一定的工作困难。

未被求和公式计算在内的单元格内容,疑似来自“复制”、“粘贴”的过程。原数据来自其它单位。   

问题:

某个单元格中的数据,sheet(工作表)界面中,未被求和公式计算在内。

解决办法:

建议1. 理论上可以逐个单元格进行格式检查,并通过重新设置合适单元格个时候,重新输入数据来清除潜在的、无法被(求和等)函数自动识别为数字的单元格数据。数字多时,效率很低 。  

建议2. 使用vba代码。同样使用函数,vba可以自动把储存在文本格式单元格中的数据识别为数字,而正确求和;即时在单元格中输入英文状态的前置 " ' "加数字的格式,比如 '10, vba求和公式还是可以识别为数字,而正确求和。  

建议2中的求和过程很简单。如果数据多,可以通过数组储存单元格内容后,再进行相关操作,不用频繁访问单元格,以提交效率。   

例子图片,左侧sheet界面,右侧vba编辑界面:

 

为了方便测试,vba代码贴在这里。没有在顶部“代码”项中找到合适的类型,直接复制。
 
Public Sub MySum()
    '功能:求和
    '说明:
    '      1. 能对不同单元格格式下的数字,求和
    '      2. 避免了用函数时无法识别类似文本格式下,单元格储存的数字
    
    
    Dim iLoop As Integer ' 如果行数太多,理论上可以设置为long
    Dim startRow As Integer
    Dim endRow As Integer
    Dim calcCol As String '储存求和列代号
    Dim total As Integer
    
    startRow = 6
    endRow = 8
    calcCol = "c"
    total = 0
    
    For iLoop = startRow To endRow
        total = total + Range(calcCol & iLoop)
    Next
    
    Range(calcCol & "10") = total
    
End Sub 

  


http://www.niftyadmin.cn/n/5109902.html

相关文章

canvas绘制动态视频并且在视频上加上自定义logo

实现的效果&#xff1a;可以在画布上播放动态视频&#xff0c;并且加上自定义的图片logo放在视频的右下角 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthd…

基于RSSI的室内wifi定位系统 计算机竞赛

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; wifi室内定位系统 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;…

WP Ultimate CSV Importer远程代码执行分析-CVE-2023-4142

1.前言 WordPress的WP Ultimate CSV Importer插件易受远程代码执行的攻击 2.影响版本 <=7.9.8(所有用户) 其他版本(管理员 3.漏洞信息 此漏洞发生在ImportHelpers.php中的get_header_values函数。 trim_content数组为漏洞触发位置 $header_trim 的作用是用来存储 $m…

HOT100自查题集

前言 遗忘是人类的本能&#xff0c;经常自查是必不可少的。现在面试手撕已经是必备项目&#xff0c;手撕题目大部分来自于力扣 HOT100 以及对应方向的一些编码题。我对 HOT 100 的题目以及Java相关的一些编码题目进行了分类整理&#xff0c;并提供解题思路&#xff0c;用作复习…

接口自动化测试难点:数据库验证解决方案

接口自动化中的数据库验证&#xff1a;确保数据的一致性和准确性 接口自动化测试是现代软件开发中不可或缺的一环&#xff0c;而数据库验证则是确保接口返回数据与数据库中的数据一致性的重要步骤。本文将介绍接口自动化中的数据库验证的原理、步骤以及示例代码&#xff0c;帮…

1658.将x减到0的最小操作数(滑动窗口)

目录 一、题目 二、分析代码 一、题目 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 二、分析代码 class Solution { public:int minOperations(vector<int>& nums, int x) {int _MaxLength INT_MIN;int _sum 0;int tmp 0;for (aut…

LABVIEW 安装教程(超详细)

目录 LabVIEW2017&#xff08;32/64位&#xff09;下载地址&#xff1a; 一 .简介 二.安装步骤&#xff1a; LabVIEW2017&#xff08;32/64位&#xff09;下载地址&#xff1a; 链接&#xff1a; https://pan.baidu.com/s/1eSGB_3ygLNeWpnmGAoSwcQ 密码&#xff1a;gjrk …