x01.Excel: 合计件数
由于 VBA 与 Excel 是耦合的,所以还是先看表:

件数的计算,用 Mod 即可。但考虑到要求码洋、数量等多种需求,就该 VBA 登场了。代码如下:
'================================================================
' Count (c) 2014 by x01
'-------------------------
' 计算每行的整件数和码洋
'
' 参数:
' sheet: 所选的表。
' numPerBag: 每件的数量。
' startRow: 开始的行数。
' endRow: 结束的行数。
'================================================================
Public Sub Count(sheet, numPerBag, startRow, endRow)
For i = startRow To endRow
If Application.WorksheetFunction.IsNumber(sheet.Cells(i, 4)) Then
If Trim(sheet.Cells(i, 1)) <> "合计" Then
'通过定价选择行数
'If 15# = sheet.Cells(i, 3) Then
'计算每行整包
sheet.Cells(i, 6) = CStr(Int(sheet.Cells(i, 4) / numPerBag)) & "件+" & CStr(sheet.Cells(i, 4) Mod numPerBag) '计算每行码洋
sheet.Cells(i, 5) = sheet.Cells(i, 3) * sheet.Cells(i, 4)
'End If
End If
End If
Next
Debug.Print CStr(startRow) & " - " & CStr(endRow)
End Sub '=================================================================
' SumCol (c) 2014 by x01
'-----------------------
' 计算列的合计数,如数量合计,码洋合计等。
'
' 参数:
' sheet: 所选的表。
' col: 指定的列。
' startRow: 开始的行数。
' endRow: 结束的行数。
'=================================================================
Public Sub SumCol(sheet, col, startRow, endRow)
Dim result As Double
result = 0
For i = startRow To endRow
If Application.WorksheetFunction.IsNumber(sheet.Cells(i, col)) Then
If Trim(sheet.Cells(i, 1)) <> "合计" Then
If 23# = sheet.Cells(i, 3) Then
result = result + sheet.Cells(i, col)
End If
End If
End If
Next Debug.Print CStr(result)
End Sub
在表中,如果有多个发货清单,该宏具有很好的穿透能力,使用起来还是挺方便的。使用方法如下:
1. 仿照 Excel 表的 列 新建一 Excel 表。
2. 按 Atl + F11 快捷键,在显示窗口中插入模块,将上面代码复制到模块中。
3. 在命令窗口中输入类似如下命令并回车即可:
Count Sheet1,30,1,200
x01.Excel: 合计件数的更多相关文章
- Lodop Web打印插件使用
<object id="LODOP_OB" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" st ...
- 搜素表脚本.vbs
Set oFso = CreateObject("Scripting.FileSystemObject")dim path(30)dim name(30)'说明书表头有15列:补丁 ...
- kartik\grid\GridView 合计,多选,导出excel,header修改 等方法集合!
先上完整demo 具体的以后再说 <?php //use yii\web\View; use kartik\grid\GridView; use yii\bootstrap\Html; use ...
- 对FineU框架Grid多表头合计行导出Excel的回顾
年前用FineUI开发遇到了这样一个问题,Grid多表头合计行不能导出,后面到官方示例找了一下,庆幸的是找到了多表头的导出示例.然后当时为了省事,直接就复制粘贴完事,也没有仔细的研究代码.后来运行一看 ...
- Winform DataGridView控件数据导出EXcel
/// <summary> /// 导出Excel /// </summary> /// <param name="dgv"></para ...
- x01.ExcelHelper: NPOI 操作
Excel 操作,具有十分明显的针对性,故很难通用,但这并不妨碍参考后以解决自己的实际问题. 有一汇总表如下: 当然,只是示范,产品的代码应该唯一!现在要根据此汇总表产生各个客户的产品清单.由于客户较 ...
- (后端)如何将数据库的表导出生成Excel?
1.如何通过元数据拿到数据库的信息? 2.如何用Java生成Excel表? 3.将数据库中的表导出生成Excel案例 如何通过元数据拿到数据库的信息 元数据:描述数据的数据 Java中使用元数据的两个 ...
- Excel函数sumproduct应用案例-多条件求和
作者:iamlaosong 越来越认为sumproduct这个函数实用,过去用sum组函数.改起来复制起来都麻烦,sumif在条件多的时候也认为不方便. 如今改用sumproduct函数,就简单多了. ...
- NPOI操作EXCEL(六)——矩阵类表头EXCEL模板的解析
哈哈~~~很高兴还活着.总算加班加点的把最后一类EXCEL模板的解析做完了... 前面几篇文章介绍了博主最近项目中对于复杂excel表头的解析,写得不好,感谢园友们的支持~~~ 今天再简单讲诉一下另一 ...
随机推荐
- HTML5开发IDE介绍
开发html5的工具可供选择的有:Intellij Idea.Eclipse.WebStorm三个软件.在PC端与手机端,同步测试HTML5网页.测试发布软件:FileZilla JavaScript ...
- 事件委托 documentFragment
如果有一个列表页,页面结构是外面一个BODY, 里面有一万个子DIV,每个DIV里面有一些文字,这些文字都不相同.需求是,点击一个DIV,要求弹个alert框,将DIV里的文字显示出来.你会怎么做. ...
- ios svn无法连接xp或者win7系统svn的解决方法
找到服务器svn的安装目录,或者直接查找httpd.conf,找到端口号,复制到ios系统的svn端口号,就ok了,如图 这是其他人的解决方法 Subversion有两种不同的配置方式,一种基于它自带 ...
- [Tool] Chrome内的本地网页,使用XMLHttpRequest读取本地档案
[Tool] Chrome内的本地网页,使用XMLHttpRequest读取本地档案 问题情景 开发Cordova这类以网页内容作为UI的Hybrid APP时,开发人员可以使用IDE的功能将程序布署 ...
- FormatJS – 让你的 Web 应用程序国际化
FormatJS 是一个模块化的集合,保护各种 JavaScript 国际化库,例如格式化数字,日期和字符串.它包括一组建立在 JavaScript 的国际内置插件和全行业的国际化标准,再加上一套集成 ...
- js异步方式
node.js的例子 1.回调 创建 main.js 文件 var fs = require("fs"); fs.readFile('input.txt','utf8', func ...
- 模拟position:fixed效果
大家都知道fixed定位相对于浏览器窗口,下面就介绍一种不用fixed也能实现其效果的定位方法,就那点css代码,这里就直接呼上来: <!DOCTYPE html> <html> ...
- MySQL sharding的几个参考地址
http://stackoverflow.com/questions/5541421/mysql-sharding-approaches http://www.oschina.net/search?s ...
- Git 撤销修改
Git 撤销修改 增补提交 git commit –C HEAD –a --amend -C表示复用指定提交的提交留言,这个例子中是HEAD,实际上可以指定其他有效的提交名称. 如果参数是小写的-c, ...
- 优化MySchool数据库(二)
优化School数据库(TSQL建库建表建约束) 使用T_sql代码建库.建表.建约束: 建库: Create database HotelManagerSystem on ( ---- 数据文件-- ...