用VBA写一个计算器
着急的 玩家 可以 跳过“============”部分
======================================可以跳过的 部分 开始======================================================
之所以 要有今天这样一篇博客是因为。
之前领导让找几组数据。从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写一个计算器的更多相关文章
- 如何用Python写一个计算器软件 附带效果图
该计算器使用Python tkinter模块开发 效果如下图 import tkinter #导入tkinter模块 root = tkinter.Tk() root.minsize(280,500 ...
- 使用JS写一个计算器
先上效果图: 简单的加减乘除功能还是有的,所以我们就考虑怎么来实现这个功能. 根据预期效果,可以确定页面中的布局要用到table tr td. 所以先放上页面布局,table的边框宽度border,c ...
- 1.自己写一个计算器demo
知识点: 1.System.Math.Pow() 实现乘方 2.实现计算器的运算优先级,依次调用的流程 问题: 还未实现“()”功能 解决方案 UI:
- 用JS写一个计算器(兼容手机端)
先看成果:1.PC端2. 首先确立html,有哪些东西我们要知道.布局大概的样子在心里有个数 <!DOCTYPE html> <html> <head> <m ...
- 模仿Masonary写一个计算器
1.CaculatorMaker @interface CaculatorMaker : NSObject @property(nonatomic,assign)int result; -(Cacul ...
- css写一个计算器叭
显示效果如图,emoji可替换为数字.
- 使用vba做一个正则表达式提取文本工具
测试中经常会遇到对数据的处理,比如我要删除某些特定数据,数据源是从网页请求中抓取,这时候可能复制下来一大堆内容,其中我们只需要特定的某些部分,笔者通常做法是拷贝到notepad++中处理,结合RegT ...
- Excel VBA 从一个工作簿查找另一个一个工作簿中的一些内容复制到另外一个工作簿
帮朋友来写个Excel VBA 以前写过ASP,所以对vb略微熟悉,但VBA 没有仔细研究过. 以前只研究过 vba 写一个 计算个人所得税的程序. 这次写的功能也算是简单,但也耗费了两天的功夫. 需 ...
- python写一个双色球彩票计算器
首先声明,赌博一定不是什么好事,也完全没有意义,不要指望用彩票发财.之所以写这个,其实是用来练手的,可以参考这个来预测一些其他的东西,意在抛砖引玉. 啰嗦完了,马上开始,先上伪代码 打开网址 读取内容 ...
随机推荐
- 第04课:GDB常用命令详解(上)
本课的核心内容如下: run命令 continue命令 break命令 backtrace与frame命令 info break.enable.disable和delete命令 list命令 prin ...
- Linux中关闭SSH的DNS解析
在操作中,我们都会用SSH协议来远程控制虚拟机,但是在输入用户名时候,会有一段时间的卡顿,此时正在进行SSH协议的DNS解析,我们为了快速的连接到虚拟机上,就要关闭这个解析过程,如下是具体配置: 1. ...
- web性能优化--算法优化(四)
避免for-in 把数组长度保存在局部变量中 较少迭代次数(Duffs Device) 基于函数的循环比基于循环的迭代消耗性能更多 优化if-else,一般switch比if-else速度快(hash ...
- javaIO--数据流之IO流与字节流
0.IO流 0.1.IO(Input Output)流的概念 Java中将不同设备之间的数据传输抽象为“流”:Stream设备指的是:磁盘上的文件,网络连接,另一个主机等等 按流向分:输入流,输出流: ...
- chrome模拟慢速3G网络
谷歌调试控制台中network中可以设置,add为自定义
- NOIP2016提高A组模拟10.15总结
第一题,就是将原有的式子一步步简化,不过有点麻烦,搞了很久. 第二题,枚举上下边界,维护一个单调队列,二分. 比赛上没有想到,只打了个暴力,坑了80分. 第三题,贪心,最后的十多分钟才想到,没有打出来 ...
- 2019春Python程序设计作业2(0326--0401)
1-1 已知st="Hello World!",使用print(st[0:-1])语句可以输出字符串变量st中的所有内容. (2分) T F 1-2 Python程 ...
- Codeforces Round #345 (Div 2)
最后两题是orzCJK学长帮忙代打的,不过总算是到蓝名了(上次睡迟了,只剩半个小时,结果作大死点开题目看,结果rating掉了100多),还有论代码风格的重要性!!!(没写空格被学长各种D) A题 题 ...
- bootstrap editable初始化后表单可修改数据
function loadData() { var url = "${ctx }/sys/marketing/product/page"; $('#tablepager').boo ...
- 多线程之Tread类和Runnable的区别
一.run()方法和start()方法的区别 在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口:Thread类是在java.lang包中定义的.一个类只要继 ...