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. Linux基础命令---bunzip2

    bunzip2 解压缩bzip2压缩过的文件. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.openSUSE.Fedora. 1.语法       bunzip2  ...

  2. Xcode10.x适配的部分问题

    因为我们项目是一个Workspace,由若干个库组成(组件化比较碎),又涉及到海外和国内(存在很多差异性),整个项目的编译是由每个库的脚本(每个库生成会支持32位和64位,每次编译前会清除历史缓存), ...

  3. Python入门之面向对象的多态和继承

    本章内容 Python面向对象的多态和继承对比 ========================================= 在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的 ...

  4. Centos6版本使用yum报错 Loaded plugins: fastestmirror, refresh-packagekit, security Loading mirror speeds from cached hostfi Setting up Install Process No package gcc available. Error: Nothing to do

    在使用Centos6版本yum时报错 Loaded plugins: fastestmirror, refresh-packagekit, securityLoading mirror speeds ...

  5. 20145339顿珠 MS08_067漏洞测试

    20145339顿珠 Exp5 MS08_067漏洞测试 实验过程 IP地址:192.168.1.104 虚拟机ip:192.168.1.102 在控制台内使用search ms08_067查看相关信 ...

  6. 探索Java8:(二)Function接口的使用

    Java8 添加了一个新的特性Function,顾名思义这一定是一个函数式的操作.我们知道Java8的最大特性就是函数式接口.所有标注了@FunctionalInterface注解的接口都是函数式接口 ...

  7. VS不显示最近打开的项目

    VS2012不显示最近打开的项目 解决方法, 在"运行"中输入 " gpedit.msc"打开后在"用户配置"-"管理模板&quo ...

  8. YOLO(Darknet官方)训练分类器

    目录 1. 分类数据准备 2. Darknet配置 3. Darknet命令使用 4. cifar-10 使用示例 1. 分类数据准备 需要的文件列表: 1. train.list : 训练的图片的绝 ...

  9. 基于大规模语料的新词发现算法【转自matix67】

    最近需要对商品中的特有的词识别,因此需新词发现算法,matrix的这篇算法很好. 对中文资料进行自然语言处理时,我们会遇到很多其他语言不会有的困难,例如分词——汉语的词与词之间没有空格,那计算机怎么才 ...

  10. 04_Flume多节点load_balance实践

    1.负载均衡场景 1)初始:上游Agent通过round_robin selector, 将event轮流发送给下游Collecotor1, Collector2 2)故障: 关闭Collector1 ...