Dim cuttent_columns As Integer
Dim care_repeat As Integer Private Sub Workbook_Open()
Dim i As Integer
Dim j As Integer
'确定cuttent_columns的值
For i = 1 To 100
If Cells(1, i) = "" Then
For j = i To 100
If Cells(1, j) = "" Then Else
cuttent_columns = j - 1
'MsgBox "init cuttent_columns"
'MsgBox cuttent_columns
Exit Sub
End If
Next
End If
Next End Sub Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
On Error Resume Next '跳过异常
Application.ScreenUpdating = False '关闭屏幕更新 If care_repeat = 1 Then
care_repeat = 0
'MsgBox "防止正反馈"
Exit Sub
End If If Target.Row > 51 Then Exit Sub 'MsgBox "cuttent_columns"
'MsgBox cuttent_columns
'MsgBox "Target.Row"
'MsgBox Target.Row
'MsgBox "Target.Target.Column"
'MsgBox Target.Column Dim null_flag As Integer
Dim i As Integer
null_flag = 0 If Cells(Target.Row, 2) = 0 Or Cells(Target.Row, 2) = "" Then Else
For i = 2 To cuttent_columns
If Cells(Target.Row, i) = "" Then
care_repeat = 1
Cells(Target.Row, i) = Cells(Target.Row, 2)
care_repeat = 1
Cells(Target.Row, 2) = 0
null_flag = 1
Exit For
End If
Next If null_flag = 0 Then
cuttent_columns = cuttent_columns + 1
care_repeat = 1
ActiveSheet.Columns(cuttent_columns).Insert
care_repeat = 1
Cells(Target.Row, cuttent_columns) = Cells(Target.Row, 2)
care_repeat = 1
Cells(Target.Row, 2) = 0
End If
End If '计算总和
Dim littel_total As Integer
Dim littel_total_num As Integer
Dim big_total_num As Integer
littel_total = cuttent_columns + 1
littel_total_num = 0
big_total_num = 0 '计算小总和
For i = 3 To cuttent_columns
littel_total_num = littel_total_num + Cells(Target.Row, i)
Next
care_repeat = 1
Cells(Target.Row, littel_total) = littel_total_num '判断
If Cells(Target.Row, littel_total) > Cells(53, 2) Then
care_repeat = 1
Cells(Target.Row, littel_total + 1) = "金额超过阈值"
Else
care_repeat = 1
Cells(Target.Row, littel_total + 1) = ""
End If '计算大总和
For i = 2 To 51
big_total_num = big_total_num + Cells(i, littel_total)
Next
care_repeat = 1
Cells(52, littel_total) = big_total_num Application.ScreenUpdating = True '恢复屏幕更新 End Sub

  

excel VBA 编程的更多相关文章

  1. 使用Excel VBA编程将网点的百度坐标转换后标注到高德地图上

    公司网点表存储的坐标是百度坐标,现需要将网点位置标注到高德地图上,研究了一下高德地图的云图数据模版 http://lbs.amap.com/yuntu/reference/cloudstorage和坐 ...

  2. Excel VBA 教程

    https://www.w3cschool.cn/excelvba/  Excel VBA 编程教程 https://www.yiibai.com/vba   VBA教程 http://www.acc ...

  3. 来吧!带你玩转 Excel VBA

    来吧!带你玩转 Excel VBA 从错失良机到艰辛的DOS征程,从坎坷购机自学路到转机起程,从爱好到事业,他从一个完全不懂电脑的人到VBA高级应用者,一切全是自学…… 我是罗刚君,来自四川的一个小县 ...

  4. 2017-5-29 Excel VBA 小游戏

    ---恢复内容开始--- 转一个Excel VBA的小游戏,最近对excel有了更深入的了解,功能很强大,也刷新了我对待事情的态度. 一.准备界面 我们先来把游戏界面准备好,选中前4行,行高调成50, ...

  5. VBA编程的工程性规划

    看过很多人写的VBA代码,一团一团的,一点规划都没有,为了VBA编程更具工程性,这里讨论一下,并列出自己的一些建议:0.给VBA工程定义一个名字,而非直接使用默认的名称——"VBAProje ...

  6. Excel VBA(宏):添加宏

    写在前面: .编写宏,打开VBA,双击ThisWorkbook对当前工作薄进行编写宏:双击Sheet1,对整个sheet编写宏: 或者创建模块,在模块里,编写.调试代码. 打开VBA的方法见第一讲,结 ...

  7. vba编程基础2

    安装office2010的时候, 最好是 完全安装/完整安装 , 这样可以查阅 excel的 "帮助文档" 帮助文档中包含了更多的/更详细的 参考信息. 普通模块无事件, 只有 子 ...

  8. vba编程基础1

    在主要的编程语言中, 结构体是用大括号来表示 代码段的 范围 界定的. 但是在一些比较"老的"语言中,由于历史原因, 还是使用的 是: 关键字来进行界定代码 的 结构段, 如vba ...

  9. Excel VBA基础教程

    https://www.w3cschool.cn/excelvba/excelvba-basics.html Excel VBA语言基础 VBA语言的基础认识 详解VBA编程是什么 excel处理录制 ...

随机推荐

  1. [CSP-S模拟测试]:旋转子段(数学)

    题目描述 $ZYL$有$N$张牌编号分别为$1,2,...,N$.他把这$N$张牌打乱排成一排,然后他要做一次旋转使得旋转后固定点尽可能多.如果第$i$个位置的牌的编号为$i$,我们就称之为固定点.旋 ...

  2. linux发版

    使用MobaXterm_v8.5 1.upload需要更换的文件 2.关闭Tomcat    cd /usr/local/tomcat/apache-tomcat-6.0.30-pcitcaly/  ...

  3. 阿里云不支持stmp 的25端口,必须

    第一种方法 到阿里云解封25端口 特别注意阿里云的<25端口使用服务协议>:    我/我公司承诺并保证TCP 25端口仅用来连接第三方的SMTP服务器,从第三方的SMTP服务器外发邮件. ...

  4. P1983车站分级

    %%%rqy 传送 我们注意到题目中这段话: 既然大于等于x的站都要停,那么不停的站的级别是不是都小于x?(这里讨论在始发站和终点站以内的站(注意这里是个坑)) 我们可以找出每趟车没停的站,向所有停了 ...

  5. Jmeter从数据库中读取数据

    Jmeter从数据库中读取数据 1.测试计划中添加Mysql Jar包 2.添加线程组 3.添加 jdbc connection configuration 4.添加JDBC Request,从数据库 ...

  6. Windows 下手工搭建 LNMP 环境

    参考资料 如果想方便,可以直接使用集成的 LNMP 环境(例如 PHPStudy). 下载 PHP 下载地址:https://windows.php.net/download 根据你的系统选择 32 ...

  7. Vagrant 手册之 Vagrantfile - 概述

    原文地址 Vagrantfile 的主要用途是描述用于项目的机器类型,以及如何配置和提供这些机器. Vagrant 的每个项目运行一个 Vagrantfile,并且 Vagrantfile 应该被提交 ...

  8. 第 13 章 python并发编程之io模型

    一.IO模型介绍 同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问 ...

  9. Amber

    训练做的题里有板子单独拉出来. 欧拉筛 ],prim[N+]; int cnt; void Eular() { vis[]=vis[]=; ;i<N;i++) if(!vis[i]) { pri ...

  10. 应用安全-Web安全-越权漏洞整理

    login->register GetPhone->GetPasswd GetPwd->GetPassword 遍历https://xx.com/contacts/new?user_ ...