EXCEL的VBA(宏)编程
EXCEL的VBA编程
杨康需要我完成的需求
第一列是名称
第二列是甲方账户
第三列是甲方金额
第四列是乙方账户
第五列是乙方金额
第六列是true或false
第七列备注

需求
开始时数据对齐的,如果甲方金额比乙方金额大,就将交易名称,甲方账户,甲方金额下移一行,反之则将乙方账户,乙方金额下移一行
最终效果图

我的代码
Sub func()
Dim pos, total, mate1
Rem 获取行数
total = Sheet1.UsedRange.Rows.Count
Rem 开始循环
For pos = 2 To 66666 '66666是设置的一个极大值,实际上,当不存在交易的时候会自动跳出for循环,不会循环这么多次
If Sheet1.Cells(pos, "C").Value > Sheet1.Cells(pos, "E").Value Then '当甲的金额大于乙的金额
MsgBox "甲大!!"
Sheet1.Cells(pos, "G") = "无甲方"
Sheet1.Cells(pos, "F") = "FALSE" '改为FLASE
Range("A" & pos & ":C" & total+total).Select
Selection.Copy Range("A" & pos + 1) '移动
Range("A" & pos & ":C" & pos) = ""
Range("A" & pos & ":G" & pos).Select '选中当前的行
Set rng2 = ActiveCell.EntireRow
rng2.Interior.ColorIndex = 6 '设置高亮
ElseIf Sheet1.Cells(pos, "C").Value < Sheet1.Cells(pos, "E").Value Then '当甲的金额小于乙的金额
MsgBox "乙大!!"
Sheet1.Cells(pos, "G") = "无乙方"
Sheet1.Cells(pos, "F") = "FALSE"
Range("D" & pos & ":E" & total+total).Select
Selection.Copy Range("D" & pos + 1)
Range("D" & pos & ":E" & pos) = ""
Range("A" & pos & ":G" & pos).Select '选中当前的行
Set rng2 = ActiveCell.EntireRow
rng2.Interior.ColorIndex = 6 '设置高亮
ElseIf Sheet1.Cells(pos, "C").Value = Sheet1.Cells(pos, "E").Value And Sheet1.Cells(pos, "A").Value <> "" Then '如果甲乙账户金额相等
Sheet1.Cells(pos, "F") = "TRUE"
Else '否则就跳出循环
Exit For
End If
Next
MsgBox "完成!!"
End Sub
效果图

EXCEL的VBA(宏)编程的更多相关文章
- C#调用Excel VBA宏
近日的一系列工作是做网站的营运维护,因此做了大量的支持工具.有Excel中写VBA的,也有直接C#做的工具.有时需要在C#中执行Excel VBA宏,甚至有时还需要在执行了VBA宏之后,获取返回值再进 ...
- [转]C#调用Excel VBA宏
[转载自]http://www.shangxueba.com/jingyan/95031.html 附上一段原创常用代码 计算列标题字符串 Function CalcColumn(ByVal c As ...
- Excel 导出指定行为txt文件(VBA,宏)
要从Excel 多个sheet内导出指定行为txt文件,懒得用C#了,写个VBA宏 Sub Export() Dim FileName As Variant Dim Sep As String Dim ...
- C#调用Excel VBA宏[转载]
原文地址:https://www.cnblogs.com/heekui/archive/2008/03/30/1129355.html 近日的一系列工作是做网站的营运维护,因此做了大量的支持工具.有E ...
- 功能区按钮调用Excel、PowerPoint、Word中的VBA宏:RunMacro
功能区按钮调用Excel.PowerPoint.Word中的VBA宏:RunMacro 众所周知,Excel.PPT.Word文档或加载宏文件中可以写很多过程和函数,调试的过程中当然可以按F8或F5直 ...
- 【VBA】EXCEL通过VBA生成SQL,自动生成创建表结构SQL
原文:https://blog.csdn.net/zutsoft/article/details/45441343 编程往往与数据库密不可分,一个项目往往有很多的表,很多时候通过excel来维护表结构 ...
- 用VBA宏从一个工作薄复制内容到另一个工作薄
我们项目管理有两个工作薄,一个里面有多个表,每天建一个,记录当天项目,另一个工作薄,有多个表,其中一个是所有项目汇总. 以前都是第一个工作薄一个表做完,再复制粘贴到第二个工作薄的汇总表中. 写了个VB ...
- 利用VBA宏批量解决Word中图片大小、居中设置
需求:经常阅读网上的研报(没钱买排版漂亮的高质量研报),有些需要保存的复制下来到word里,图片很大都超出word的边界了,也没有居中,手工一张张调整不现实,上百页的研报,几十张图片. 解决方案:利用 ...
- Office宏病毒学习第一弹--恶意的Excel 4.0宏
Office宏病毒学习第一弹--恶意的Excel 4.0宏 前言 参考:https://outflank.nl/blog/2018/10/06/old-school-evil-excel-4-0-ma ...
随机推荐
- Spring+dubbo错误(一)
10-21 20:51:39.593 ERROR [ContextLoader.java:351] Context initialization failed org.springframework. ...
- c++ 知道旋转前后矩阵向量值 求旋转矩阵c++/c#代码 知道两个向量求他们的旋转矩阵
原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/12115244.html 知道旋转前后矩阵向量值 如何去求旋转矩阵R 的c++/c#代码??? ...
- 菜鸟系列Fabric源码学习 — MVCC验证
Fabric 1.4 源码分析 MVCC验证 读本节文档之前建议先查看[Fabric 1.4 源码分析 committer记账节点]章节. 1. MVCC简介 Multi-Version Concur ...
- ruby 输出彩色内容到控制台
程序输出控制台时,为了区分输出信息的严重程度,可以使用颜色.符号等来做标识. ruby 也支持设置输出内容的颜色,比如运行以下代码: 以下内容是百度到的,因发现很多博客都是同样的写法,所以出处反而没法 ...
- Redis实战 | 持久化、主从复制特性和故障处理思路
前言 前面两篇我们了解了Redis的安装.Redis最常用的5种数据类型.本篇总结下Redis的持久化.主从复制特性,以及Redis服务挂了之后的一些处理思路. 前期回顾传送门: Linux下安装Re ...
- Linux-Cacti监控{Verson:1.2.8}
首先需要一个LAMP平台 或LNMP平台 yum -y install httpd mariadb php mariadb-server mariadb-devel zlib freetype lib ...
- virtualenv虚拟环境使用及介绍
一.为什么使用virtualenv虚拟环境 每个虚拟环境下的依赖相互独立,不同的项目可以单独使用一套python环境,减少各依赖包的影响 更容易部署 容器化 二.virtualenv创建虚拟环境 三. ...
- 从N个元素中抽取K个不重复元素(抽奖问题)
核心就是 把N数组抽中的元素给K数组 把N数组最后一位给N数组被抽走的那一位(这时候N数组最后一位元素和被抽走的那位元素值相等) 把N数组长度减一,去除最后一位
- python利用sift和surf进行图像配准
1.SIFT特征点和特征描述提取(注意opencv版本) 高斯金字塔:O组L层不同尺度的图像(每一组中各层尺寸相同,高斯函数的参数不同,不同组尺寸递减2倍) 特征点定位:极值点 特征点描述:根据不同b ...
- SQL 配置管理器无法连接到WMI
在解决之前,需要注意一般出现这个问题是你的SQL SERVER安装有误. 这个问题是SQL 安装路径下sqlmgmproviderxpsp2up.mof的问题. 一般在C盘Program files( ...