用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。

如此 便开发完成了。

下一个 文档将 实现,加减乘除功能。除法里面,当然有我们熟悉的,不能出现“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

原文地址:https://www.cnblogs.com/letben/p/12001407.html

时间: 2024-10-06 22:43:43

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

利用面向对象写一个计算器

本文参考了程杰的<大话设计模式>,使用C#语言利用面向对象的模式来写一个计算器. 如果是我本人来写计算器,也就加减乘除的话,估计我会全部写进控制台里面,写4个if语句出来......或者我会利用switch,但是这样的效果都不好,有更好的方法,就是如下所示的代码啦: 先定义一个Operation类,主要实现运算框架: class Operation { public double Number1 { get; set;} public double Number2 { get; set; }

如何写一个计算器

考虑这样一个问题,给定一个字符串,"1+1+(3+4)-2*3+8/2",如何将它转化为如下形式, "1+1=2" "3+4=7" "2+7=9" "2*3=6" "9-6=3" "8/2=4" "3+4=7" 换句话说,就是如何将字符串按照四则运算计算出来,如何写一个计算器.拿java来举例,并且为了简单,我们只考虑个位数.这个过程大概分为这几个

用PHP写一个计算器

本篇文章介绍了使用PHP+HTML+Javascript技术编写一个计算器的方法,希望对各位学习PHP开发的同学有帮助! 用PHP写一个计算器 <body> <?php if (!empty($_POST)) { $op=$_POST['point']; $sum1 = $_POST['sum1']; $sum2 = $_POST['sum2']; $sum = 0; if ($sum1 != '' && is_numeric($sum1) && $sum

今天学习了在一般处理程序中写一个计算器

今天看了看前面的javascript以及学习的jquery,感觉刚开始学习时间就赶得比较紧,练习是做啦,基础的知识都是知道的,但是在写一些小小的程序时间还是陌生,感觉练习的还是很不够的,其实怎么说那,想好好的学习还是把他们使用到项目中练习就会学习的更快些吧,然后我又做啦一个增删改查的一般处理程序,但是还没有总结好,现在就简单的先总结一个小小的计算器使用html和ashx来实现一下其功能,如下所示: 一.html样式 <script> //@Script; </script> <

用JS写一个计算器

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Typ

1.自己写一个计算器demo

知识点: 1.System.Math.Pow() 实现乘方 2.实现计算器的运算优先级,依次调用的流程 问题: 还未实现“()”功能 解决方案 UI: 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Text; 7 using System.Windows.Fo

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

先看成果:1.PC端2. 首先确立html,有哪些东西我们要知道.布局大概的样子在心里有个数 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"><title>瑞雪的计算器</t

五一放假作业4.30 用正则表达式写一个计算器!去掉括号,计算式子结果!

作业要求:去掉括号,计算式子结果. 1 - 2 * ( (60-30 +(-9-2-5-2*3-5/3-40*4/2-3/5+6*3) * (-9-2-5-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) - (-4*3)/ (16-3*2) ) #!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2017/4/30 7:44# @Author : Olivia Su# @File : 作业.py# @Softw

PyQt5 写一个计算器框架

import sys from PyQt5.QtWidgets import QWidget, QLabel, QApplication, QPushButton, QHBoxLayout, QVBoxLayout, QGridLayout class Example(QWidget): def __init__(self): super().__init__() self.initUI() #---------------------------------------------------