由于 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: 合计件数的更多相关文章

  1. Lodop Web打印插件使用

    <object id="LODOP_OB" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" st ...

  2. 搜素表脚本.vbs

    Set oFso = CreateObject("Scripting.FileSystemObject")dim path(30)dim name(30)'说明书表头有15列:补丁 ...

  3. kartik\grid\GridView 合计,多选,导出excel,header修改 等方法集合!

    先上完整demo 具体的以后再说 <?php //use yii\web\View; use kartik\grid\GridView; use yii\bootstrap\Html; use ...

  4. 对FineU框架Grid多表头合计行导出Excel的回顾

    年前用FineUI开发遇到了这样一个问题,Grid多表头合计行不能导出,后面到官方示例找了一下,庆幸的是找到了多表头的导出示例.然后当时为了省事,直接就复制粘贴完事,也没有仔细的研究代码.后来运行一看 ...

  5. Winform DataGridView控件数据导出EXcel

    /// <summary> /// 导出Excel /// </summary> /// <param name="dgv"></para ...

  6. x01.ExcelHelper: NPOI 操作

    Excel 操作,具有十分明显的针对性,故很难通用,但这并不妨碍参考后以解决自己的实际问题. 有一汇总表如下: 当然,只是示范,产品的代码应该唯一!现在要根据此汇总表产生各个客户的产品清单.由于客户较 ...

  7. (后端)如何将数据库的表导出生成Excel?

    1.如何通过元数据拿到数据库的信息? 2.如何用Java生成Excel表? 3.将数据库中的表导出生成Excel案例 如何通过元数据拿到数据库的信息 元数据:描述数据的数据 Java中使用元数据的两个 ...

  8. Excel函数sumproduct应用案例-多条件求和

    作者:iamlaosong 越来越认为sumproduct这个函数实用,过去用sum组函数.改起来复制起来都麻烦,sumif在条件多的时候也认为不方便. 如今改用sumproduct函数,就简单多了. ...

  9. NPOI操作EXCEL(六)——矩阵类表头EXCEL模板的解析

    哈哈~~~很高兴还活着.总算加班加点的把最后一类EXCEL模板的解析做完了... 前面几篇文章介绍了博主最近项目中对于复杂excel表头的解析,写得不好,感谢园友们的支持~~~ 今天再简单讲诉一下另一 ...

随机推荐

  1. [转]PHP5 session 详解

    来源:http://blog.163.com/lgh_2002/blog/static/4401752620105246517509/ http协议是WEB服务器与客户 端(浏览器)相互通信的协议,它 ...

  2. sql with 递归 查询特定区间日期

    declare @startDay smalldatetime ='2013-01-01'  ;with cte as(     select @startDay as d    union all  ...

  3. angular学习的一些小笔记(中)之ng-init

    ng-init是给angular执行给定的表达式,初始化变量的值 <!DOCTYPE html> <html> <head> <meta charset='U ...

  4. HTML动画分类 HTML5动画 SVG库 SVG工具 Canvas动画工具

     1.js配合传统css属性控制,可以使用setTimeout或者高级的requestAnimationFrame 2.css3 3.svg 4.canvas(当然,这个还是要配合js)   也许这么 ...

  5. JavaScript 开发者经常忽略或误用的七个基础知识点(转)

    JavaScript 本身可以算是一门简单的语言,但我们也不断用智慧和灵活的模式来改进它.昨天我们将这些模式应用到了 JavaScript 框架中,今天这些框架又驱动了我们的 Web 应用程序.很多新 ...

  6. 马旭飞:共探H3 BPM社区发展战略

    近日,以"让天下没有难用的流程"为主题,H3 BPM10.0在北京金隅喜来登酒店正式发布. H3 BPM全新的业务流程管理系统是颠覆BPM行业的巨作,拥有众多独创技术,近200个业 ...

  7. abap 字符串处理

    1).SHIFT:截断字符串 SHIFT {c} [BY {n} PLACES] [{mode}].:      作用:去掉字符串的前n个位置的字符,如果n未指定,默认为1,如果指定的n小于等于0,则 ...

  8. EXCEL经纬度转化

    =LEFT(A1,FIND("°",A1)-1)+MID(A1,FIND("°",A1)+1,FIND(CHAR(39),A1)-1-FIND("°& ...

  9. 对称密码-DES和3DES

    最近在看信息安全的知识,就总结了一下自己所学到知识. 先说一下什么是对称密码算法,什么是对称密码算法呢?对称密码算法是指有了加密密钥就可以推算出解密密钥,有了解密密钥就可以推算出加密密钥的的算法. 那 ...

  10. 高性能JS笔记3——DOM编程

    一.访问与修改DOM DOM和JS 相当于两个岛屿,访问操作的次数越多,要交的过路费越多,对性能产生很大影响. 减少访问DOM的次数,把运算尽量留在JS端操作. 二.innerHTML 对比 DOM ...