着急的 玩家 可以 跳过“============”部分

======================================可以跳过的 部分   开始======================================================

之所以 要有今天这样一篇博客是因为。

之前领导让找几组数据。从excel表格里面。

要求是 主号码 一致,副号码 一致,名称为 XXX 的 项目发生变化的数据 需要被找到。

这样的 项目 有 11个。

我找的真的是眼要花。

变动前一个表格 (命名为A),变动后一个表格(命名为B)。

数据的体量是 6w+条数据*180列。

我的做法是,利用 过滤器,找到 XXX项目 变化前的值 在表格A中。(好在 这11个项目,每个项目中的数据的种类都很少,最多的也不过22个。六万条数据能只有22个可能值还真的是挺幸福的。)

然后找到 其对应的 主号码。

然后 找到 XXX项目变化后的值,在 表格B中。假设数据没有发生变化,去重之后,两个表格数据中的值应该是一样的。

反之如果 数据发生了变化,那么 表格B中的值一定比A中的值多。

这样找到B的值,主号码 跟 副号码 提取出来就可以了。

(领导要做的是,找到 一组就可以。)

那么这一组一定是。

(TODO可以再加一步验证。)

还有什么可能性?!~

假设等值变换。假设变换前的数据集里面有 123,变化后的数据集里面也只有123.我们能肯定地说,没有数值变化么!?~

不能,有可能有一条数据从 1 变成了 1以外的数据(比如变成了2或者变成了3)。

于是当时 我就 在 反复的 做这样的工作。

找到XXX项目,找到变化前的项目的值 x,然后 得到他的 主副号码,然后 找到 XXX项目 在 表格B中 x以外的值, 然后得到他的主副号码。

如果 主副号码发生了重叠。说明 我找到了一条 希望的数据。

==========================================可以跳过的部分结束===================================================================

算法有了,但是 编程 还差点儿火候。。。没用过 VBA。

所以 说起来 好像 挺有意思的。但是 我连很多基本操作都不会。

所以,这个算是启用VBA的引子。

先写几个 小东西 热热手吧~~~

比如~~~最经典的 ~~~我们 先写一个 计算器~~~

哈哈哈~~~

计算器 写的 最多。

因为 计算器 用来 交互,算是 最简单也 最核心的项目了。而且 可以 反复 练习。

哦!之所以 能写,还是因为现在 wps也支持 VBA编程了!!!!以前只有 microsoft支持,所以国内的 小伙伴 几乎 都不太用 这个 工具的。

但是 现在 到了 日本,尤其是 大公司,限制还多的不行。下载个什么小工具 小抄件都得请示。贼烦。

表格 操作 有贼多。。。所以 ,算是个 双向选择吧~~~

那就 闲言少叙开始吧~~~

打开一个EXCEL。

1、建立我们最起始的布局。

2、利用EXcel内置的插入功能,拖出一个矩形框。

3、右键矩形图片,单击 指定宏。

4、然后 再弹出的对话框中点击,新建 按钮。

5、之后会有一个 VBA专用道编辑界面。

6、进行代码编辑。

7,试运行。

8,点击按钮,运行。

9,运行结果

10,为这个图形添加,文字说明。

11,最后,但也是最重要的 一步,保存成支持宏的 excel。(xlsm格式)

如此 便开发完成了。

下一个 文档将 实现,加减乘除功能。除法里面,当然有我们熟悉的,不能出现“0”,到时候的 对话框按钮,我们也将一起学习。

代码 样例:

Sub 矩形1_Click()
'
' 矩形1_Click Macro
' 代码编辑 Dim number1 As Integer
Dim number2 As Integer number1 = Cells(, )
number2 = Cells(, ) Cells(, ) = number1 + number2 End Sub

用VBA写一个计算器的更多相关文章

  1. 如何用Python写一个计算器软件 附带效果图

    该计算器使用Python  tkinter模块开发 效果如下图 import tkinter #导入tkinter模块 root = tkinter.Tk() root.minsize(280,500 ...

  2. 使用JS写一个计算器

    先上效果图: 简单的加减乘除功能还是有的,所以我们就考虑怎么来实现这个功能. 根据预期效果,可以确定页面中的布局要用到table tr td. 所以先放上页面布局,table的边框宽度border,c ...

  3. 1.自己写一个计算器demo

    知识点: 1.System.Math.Pow() 实现乘方 2.实现计算器的运算优先级,依次调用的流程 问题: 还未实现“()”功能 解决方案 UI:

  4. 用JS写一个计算器(兼容手机端)

    先看成果:1.PC端2. 首先确立html,有哪些东西我们要知道.布局大概的样子在心里有个数 <!DOCTYPE html> <html> <head> <m ...

  5. 模仿Masonary写一个计算器

    1.CaculatorMaker @interface CaculatorMaker : NSObject @property(nonatomic,assign)int result; -(Cacul ...

  6. css写一个计算器叭

    显示效果如图,emoji可替换为数字.

  7. 使用vba做一个正则表达式提取文本工具

    测试中经常会遇到对数据的处理,比如我要删除某些特定数据,数据源是从网页请求中抓取,这时候可能复制下来一大堆内容,其中我们只需要特定的某些部分,笔者通常做法是拷贝到notepad++中处理,结合RegT ...

  8. Excel VBA 从一个工作簿查找另一个一个工作簿中的一些内容复制到另外一个工作簿

    帮朋友来写个Excel VBA 以前写过ASP,所以对vb略微熟悉,但VBA 没有仔细研究过. 以前只研究过 vba 写一个 计算个人所得税的程序. 这次写的功能也算是简单,但也耗费了两天的功夫. 需 ...

  9. python写一个双色球彩票计算器

    首先声明,赌博一定不是什么好事,也完全没有意义,不要指望用彩票发财.之所以写这个,其实是用来练手的,可以参考这个来预测一些其他的东西,意在抛砖引玉. 啰嗦完了,马上开始,先上伪代码 打开网址 读取内容 ...

随机推荐

  1. Spring Framework Part2 IOC

    spring serious of blog edit by 马士兵教育 IoC概念 IoC是一个概念,是一种思想,其实现方式多种多样.当前比较流行的实现方式之一是DI. 基于XML的DI Appli ...

  2. tar/gzip/zip文件打包、压缩命令

    一.tar打包备份工具 1.命令功能 tar 将多个文件或目录打包在一起,可用通过调用gzip或zip实现压缩.解压的命令:tar不仅可以多多个文件进行打包,还可以对多个文件打包后进行压缩. 2.语法 ...

  3. 机器学习降维--SVD奇异值分解

    奇异值分解是有着很明显的物理意义,将一个比较复杂的矩阵用更小更简单的几个子矩阵的相乘来表示,这些小矩阵描述的是矩阵的重要的特性,让机器学会抽取重要的特征,SVD是一个重要的方法. 所以SVD不仅是一个 ...

  4. CodeForces-721C-Journey(DAG, DP)

    链接: https://vjudge.net/problem/CodeForces-721C 题意: Recently Irina arrived to one of the most famous ...

  5. aircrack-wifi密码破解

    暴力破解wifi密码尝试 打开网卡监听模式 监听设置结果 扫描wifi 打开网卡监听模式 打开终端,用 airmon-ng 命令查看 root@kali:~/capture# airmon-ng PH ...

  6. UML——概述

    1. 静态视图(类图)      静态视图不描述与时间相关的系统行为,这种行为在其他视图中描述,因此称之为静态试图.      静态视图用类图来实现,正因为它以类图为中心,因此也称之为类图.     ...

  7. Ambari 2.6.0 HDP 2.6.3集群搭建

    1.安装环境说明 三台机器安装好CentOS-7-x86_64-Minimal-1708.iso 下载地址:https://www.centos.org/download/ 最好在安装时设置好IP和H ...

  8. Java中参数的引用传递和值传递

    1.一些定义 值传递:把实际传入参数的值,在内存中赋值一份 引用传递:传入的是实际参数的地址 2.传递基本类型的参数 因为Java是值传递,那就不难理解下面的代码不交换任何值 swap(Type ar ...

  9. 【每日一包0005】arr-flatten

    github地址:https://github.com/ABCDdouyae... arr-flatten 将多维数组展开成一维数组 文档地址:https://www.npmjs.com/packag ...

  10. Java 简单工厂

    在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的.但是在一些情况下, new操作符直接生成对象会带来一些问题.举例来说, 许多类型对象的创造需要一 ...