Sub ControlInsertProduct()
Dim Wb As Workbook
Dim OneSht As Worksheet
Dim Arr As Variant
Dim i As Long
Arr = Array("农家香菜籽油(20L)", "万家炊大豆油(20L)", "万家炊原香菜籽油(20L)", "压榨菜籽油(20L)")
Set Wb = Application.ThisWorkbook
For Each OneSht In Wb.Worksheets
If IsNumeric(OneSht.Name) Or OneSht.Name = "月销量" Then
For i = LBound(Arr) To UBound(Arr)
InsertNewProduct OneSht, Arr(i)
Next i
End If
Next OneSht
Set Wb = Nothing
Set OneSht = Nothing
End Sub Sub InsertNewProduct(ByVal Sht As Worksheet, ByVal ProductName As String)
Dim InsertCol&, EndCol&, EndRow& '插入列和结束列
Dim CopyStart, CopyEnd '复制的起始列
Dim OrgRng As Range
With Sht
EndCol = .Cells.Find("*", .Cells(1, 1), xlValues, xlWhole, xlByColumns, xlPrevious).Column
EndRow = .Cells.Find("*", .Cells(1, 1), xlValues, xlWhole, xlByRows, xlPrevious).Row
InsertCol = EndCol - 2
CopyStart = EndCol - 5
CopyEnd = EndCol - 3
Set OrgRng = .Range(.Cells(2, CopyStart), .Cells(EndRow, CopyEnd))
OrgRng.Copy
.Cells(2, InsertCol).Insert xlShiftToRight, xlFormatFromLeftOrAbove
.Cells(2, InsertCol).Value = ProductName '修改公式
EndCol = EndCol + 3 For i = 4 To EndRow - 2
If Not .Cells(i, EndCol - 2).Formula Like "*SUM*" Then
Formula = "="
For j = 4 To EndCol - 3 Step 3
Formula = Formula & "+" & .Cells(i, j).Address
Next j
Formula = Replace(Formula, "+", "", , 1)
.Cells(i, EndCol - 2).Value = Formula
End If If Not .Cells(i, EndCol - 1).Formula Like "*SUM*" Then
Formula = "="
For j = 5 To EndCol - 3 Step 3
Formula = Formula & "+" & .Cells(i, j).Address
Next j
Formula = Replace(Formula, "+", "", , 1)
.Cells(i, EndCol - 1).Value = Formula
End If If Not .Cells(i, EndCol - 0).Formula Like "*SUM*" Then
Formula = "="
For j = 6 To EndCol - 3 Step 3
Formula = Formula & "+" & .Cells(i, j).Address
Next j
Formula = Replace(Formula, "+", "", , 1)
.Cells(i, EndCol - 0).Value = Formula
End If Next i
End With Set OrgRng = Nothing
End Sub

  

20170708xlVBA添加新产品修改公式的更多相关文章

  1. magento -- 添加新产品时状态默认为激活,库存状态默认为有库存

    添加新产品时状态默认为激活 打开文件/app/code/core/Mage/Catalog/Model/Product/Status.php,注释掉“Please Select” /** * Retr ...

  2. Magento给新产品页面添加分页

    本文介绍如何让magento创建一个带分页功能的新到产品页面,方便我们在首页或者其它CMS Page调用和展示新到产品. 在Magento我们经常有的做法是建立一个可以调用新产品的block,然后通过 ...

  3. Ubuntu添加新用户并给普通用户赋予root新权限

    添加新用户 首先用adduser命令添加普通用户: #adduser newusername 只有在root权限才可以添加新用户 修改密码: #passwd username 赋予root权限 方法1 ...

  4. MySql数据库在表中添加新字段,设置主键,设置外键,字段移动位置,以及修改数据库后如何进行部署和维护的总结

    1,为当前已有的表添加新的字段 alter table student add studentName varchar(20) not null; 2,为当前已有的表中的字段设置为主键自增 alter ...

  5. ANDROID Porting系列二、配置一个新产品

    ANDROID Porting系列二.配置一个新产品 详细说明 下面的步骤描述了如何配置新的移动设备和产品的makefile运行android. 1.         目录//vendor/创建一个公 ...

  6. 【PostgreSQL】PostgreSQL添加新服务器连接时,报错“Server doesn't listen ”,已解决。

    PostgreSQL添加新的服务器连接时,报错:

  7. 一个新人如何学习在大型系统中添加新功能和Debug

    文章背景: 今年七月份正式入职,公司主营ERP软件,楼主所在的组主要负责二次开发,使用的语言是Java. 什么叫二次开发呢?ERP软件的客户都是企业.而这些企业之间的情况都有所不同,一套标准版本的企业 ...

  8. ASP.NET MVC 5 - 给电影表和模型添加新字段

    在本节中,您将使用Entity Framework Code First来实现模型类上的操作.从而使得这些操作和变更,可以应用到数据库中. 默认情况下,就像您在之前的教程中所作的那样,使用 Entit ...

  9. [译]:Orchard入门——给网站添加新博客

    原文链接:Adding a Blog to Your Site 文章内容基于Orchard 1.8版本 Orchard提供一个博客引擎--这让添加一个新博客到你网站变得非常容易. 本文将介绍怎样添加一 ...

随机推荐

  1. 20154312 曾林 Exp5_MSF基础应用

    --目录-- MSF渗透测试-CVE-2017-11882 1.基础内容回答 2.实践过程记录 2.1.主动攻击实践-ms08_067 2.2.针对浏览器的攻击-ms10_046 2.3.针对客户端的 ...

  2. Java设计模式应用——策略模式

    对于相同类型相同类型的输入输出,在不同场景下需要使用不同的逻辑处理,则可以使用策略模式. 比如排序算法有堆排序,快速排序,冒泡排序,选择排序等.为了保证排序效率,需要在不同场景下选择不同排序算法,这时 ...

  3. 页面点击,不是a标签也会刷新原因

    页面点击,不是a标签也会刷新原因 点击事件冒泡,触发了a链接导致整个页面刷新了.直接阻止 事件冒泡即可 例子: $("tr .am-text-danger").click(func ...

  4. linux服务器---配置samba

    配置samba使用用户名和密码登录 1.当samba配置文件中的secure设置为user的时候,需要正确的用户名和密码才能登录. root@localhost /]#gedit /etc/samba ...

  5. netty4----日志框架的检查

    https://segmentfault.com/a/1190000005797595 2016年06月25日  ·  4.1k 次阅读 Netty4.x Internal Logger机制 nett ...

  6. ab命令压力测试

    网站性能压力测试是服务器网站性能调优过程中必不可缺少的一环.只有让服务器处在高压情况下,才能真正体现出软件.硬件等各种设置不当所暴露出的问题. 性能测试工具目前最常见的有以下几种:ab.http_lo ...

  7. 2018 Java线程热门面试题,你知道多少?

    面试,难还是不难?取决于面试者的底蕴(气场+技能).心态和认知及沟通技巧.面试其实可以理解为一场聊天和谈判,在这过程中有心理.思想上的碰撞和博弈.其实你只需要搞清楚一个逻辑:“面试官为什么会这样问?他 ...

  8. UVA302 John's trip(欧拉回路)

    UVA302 John's trip 欧拉回路 attention: 如果有多组解,按字典序输出. 起点为每组数据所给的第一条边的编号较小的路口 每次输出完额外换一行 保证连通性 每次输入数据结束后, ...

  9. jquery的click无法触发事件

    一个页面需要在加载后勾选table中所有行的checkbox,于是就这样写 $("table thead tr th input[type='checkbox']").click( ...

  10. Kali更新deb源

    vim /etc/apt/sources.list #中科大deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib ...