文档章节

用VBA写一个计算器

o
 osc_zoa3moe9
发布于 2019/12/07 13:14
字数 1006
阅读 14
收藏 0

精选30+云产品,助力企业轻松上云!>>>

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

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

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

之前领导让找几组数据。从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(5, 4)
    number2 = Cells(6, 4)
    
    Cells(7, 4) = number1 + number2


    
End Sub

 

o
粉丝 1
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
VBA计算器的全部实现

我们将加入 除零逻辑 和 对话框提示。 后面 就很简单了~~~ 提供效果图跟 代码 代码示例 Sub 矩形1_Click()'' 矩形1_Click Macro' 代码编辑 End SubSub 矩形2_Click()'' 矩形2_Click Macro' ......

osc_zoa3moe9
2019/12/07
2
0
Python入门的三大问题和三大谎言

Python广告,铺天盖地,小白们雾里看花,Python无限美好。作为会20几种语言(BASIC Foxbase/pro VB VC C C++ c# js typescript HTML ArduinoC Delphi VBA VB 汇编 scratch java swift python ...

osc_ikbuen62
04/16
9
0
VB资料免积分下载——【下载目录】

小弟最近整理了一批免积分下载的VB方面的资料,在这里把下载的目录地址给大家,希望大家喜欢~ 学校学生选课系统数据库 http://down.51cto.com/data/318175 VBScript语言参考手册 http://dow...

IT小白白
2012/07/24
120
1
VBScript - 动态 Array 实现方法大全!

记录一些方法,关于 VBScript 中,动态 Array 的实现 ,也适用于 VBA, 很久以前,写 VBA 的时候,就觉得使用 Array 很不方便,因为大小固定, 当时想的是,要是 Array 可以像 Python 里的 ...

Bitssea
04/04
0
0
VBScript 动态 Array 的实现!

记录一个小方法,关于 VBScript 中,动态 Array 的实现,也适用于 VBA, 在很久以前,写 VBA 的时候,就觉得使用 Array 和不方便,因为大小固定, 当时想的是,要是 Array 可以像 Python 里的...

Bitssea
04/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

使用命名管道承载gRPC

最近GRPC很火,感觉整RPC不用GRPC都快跟不上时髦了。 gRPC设计 gRPC是一种与语言无关的高性能远程过程调用 (RPC) 框架。刚好需要使用一个的RPC应用系统,自然而然就盯上了它,但是它真能够解...

osc_nq69o22c
6分钟前
0
0
06-敏捷开发框架-apis 脚本库 引用位置无关性设计

动态引入技术的设计,对我们来说非常重要。 同时也说明动态语言的使用对我们来说也是非常重要。 没有动态语言的支撑,有些想法可能不容易实现,或者有替代方案,可能会花更大的代价。 前端开...

osc_5zg9z6t1
7分钟前
0
0
(三)学习了解OrchardCore笔记——灵魂中间件ModularTenantContainerMiddleware的第一行①的模块部分

  了解到了OrchardCore主要由两个中间件(ModularTenantContainerMiddleware和ModularTenantRouterMiddleware)构成,下面开始了解ModularTenantContainerMiddleware中间件第一行代码。   ...

osc_kdarxvx0
9分钟前
0
0
50Mn18Cr4V锻锻环件

电机无磁护环怎么锻性能才能《高高》?50Mn18Cr4V高锰无磁钢在变形温度为900~1 100℃、应变速率为0.1 ~10s-1条件下的热变形行为. 结果,VC第二相的应变诱导析出对50Mn18Cr4V的热变形行为产生...

无磁钢
9分钟前
8
0
【遇见offer】一汽-大众实习生专场来啦!成长+学习+福利,一个也不能少~

在上次一汽-大众的社招直播之后,实习生的专场招聘也终于来啦! 针对2020年暑期,我们提供了非常多的实习岗位给大家选择。 如果你想得到大厂实习的宝贵经验,如果你想得到更快速的成长,如果...

osc_b88oux8w
10分钟前
25
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部