Sub CreateTables()
Dim Wb As Workbook
Dim OpenWb As Workbook
Dim Sht As Worksheet
Dim Rng As Range
Dim Arr As Variant
Dim i As Long
Const HEAD_ROW As Long = 2
Dim EndRow As Long '模板文件名和路径
Const ModelName As String = "社+名.xlsx"
Dim ModelPath As String
'生成文件名和路径
Dim NewName As String
Dim NewPath As String Set Wb = Application.ThisWorkbook
Set Sht = Wb.Worksheets("明细表") ModelPath = Wb.Path & "\模板\" & ModelName '社+名的完整路径 With Sht
EndRow = .Cells(.Cells.Rows.Count, "A").End(xlUp).Row
'内置方法,返回A列最后一个非空单元格行号 Set Rng = .Range(.Cells(HEAD_ROW + 1, "A"), .Cells(EndRow, "I"))
'引用区域,左上角单元格,右下角单元格,这样就获取数据区域了 自己领悟一下就知道了 Arr = Rng.Value
'存在一个数组里面,这样速度好很多
'和单元格区域是一样的。只是它只有数据,没有框框颜色字体什么的,所以用起来很快 Set OpenWb = Application.Workbooks.Open(ModelPath)
'打开模板文件 For i = LBound(Arr) To UBound(Arr) '从第一行到最后一行,逐行循环
'arr相当于是一个有行列结构的数组,和单元格区域是一样的。Lbound可以取到开始行,Ubound可以取到结束行 '开始构建新文件名
NewName = Arr(i, 9) & "-" & Arr(i, 2) & ".xlsx"
'i是可变的,9就是第I列 经办行,2就是第B列的客户名称,新文件名就弄好了
NewPath = Wb.Path & "\生成\" & NewName
'新文件名的完整路径 就构造好了 '开始填表
'这里就做两个示范,剩下的你自己填就知道了
'第一个sheet
OpenWb.Worksheets("(一)档案封皮").Range("B13").Value = Arr(i, 2) '借款人
OpenWb.Worksheets("(一)档案封皮").Range("A23").Value = Arr(i, 9) '经办行 OpenWb.Worksheets("(二)债务主体认定书").Range("B4").Value = Arr(i, 2) '经办行
OpenWb.Worksheets("(二)债务主体认定书").Range("B5").Value = "'" & Arr(i, 1) '贷款号
'注意注意注意 长数字 前面一定要加上 "'" & ,这样防止后面三位数字变成 000 '************剩下自己弄 OpenWb.SaveCopyAs NewPath '填完就另存副本 Next i OpenWb.Close False '关掉模板
End With '释放对象,告诉内存,这些东东我不要了,不然一直占着内存
Set Wb = Nothing
Set OpenWb = Nothing
Set Sht = Nothing
Set Rng = Nothing
Erase Arr '擦除数组 End Sub

  

20170727xlVBA根据数据表和模板工作簿生成个人明细表工作簿的更多相关文章

  1. 20170731xlVba根据数据表和模板表生成新表

    Public Sub SplitData() Dim Wb As Workbook Dim Sht As Worksheet Dim NewSht As Worksheet Dim arr As Va ...

  2. MySQL数据表更新模板

    -- ---------------------------- -- 新增表 -- ---------------------------- CREATE TABLE `biz_circle_lead ...

  3. SqlProfilter监控指定数据库数据表——监控linq组合查询生成的sql

    1.例子 实际测试环境中往往很多测试都在调用数据库,那么如何使用SqlProfilter监控筛选到自己想要监看的数据库对应的表有关linq生成的sql时候就需要做如下设置了 ........... u ...

  4. 帝国cms数据表详细说明

    表 名 解释 phome_ecms_infoclass_news 新闻采集规则记录表 phome_ecms_infotmp_news 采集临时表 phome_ecms_news 新闻主数据记录表 ph ...

  5. 帝国cms数据表中文说明

    本文介绍下,帝国cms中各数据表的用途,有需要的朋友,参考下吧. 帝国cms各数据表及用途说明. phome_ecms_infoclass_news 新闻采集规则记录表 phome_ecms_info ...

  6. 帝国empirecms数据库数据表详细说明

    表名   解释 phome_ecms_infoclass_news 新闻采集规则记录表 phome_ecms_infotmp_news 采集临时表 phome_ecms_news 新闻主数据记录表 p ...

  7. 帝国CMS数据库数据表详细说明

    表名                                             解释 phome_ecms_infoclass_news 新闻采集规则记录表 phome_ecms_inf ...

  8. laravel5Eloquent模型与数据表的创建

    下面是有关管理员模型与表的创建 生成模型时同时生成数据库迁移文件 在生成的迁移文件中添加字段 运行命令行生成数据表 命令进行混合运用 生成工厂文件,数据填充文件 工厂模型代码 数据填充文件代码 数据填 ...

  9. EXCEL 如何将多个工作表或工作簿合并到一个工作表

    在使用Excel 时,我们经常需要将多个工作表或工作簿合并到一个工作表中,这样我们就能快速地对数据进行分析和统计.对于一般用户而言,除了复制每个工作表后再粘贴,没有其他什么方法了.如果只是合并少数几个 ...

随机推荐

  1. Android (Android Studio)无法启动adb 解决方案

    打开cmd 输入:     netstat -aon|findstr "5037"      回车  taskkill /pid xxxx /f     ps:xxxx为占用端口 ...

  2. ios 透过上层视图点击相应下方视图的点击事件

    - (UIView*)hitTest:(CGPoint)point withEvent:(UIEvent *)event{ UIView *hitView = [super hitTest:point ...

  3. python中的对象(三)

    一.python对象 python使用对象模型来存储数据.构造任何类型的值都是一个对象. 所有python对象都拥有三个特性:身份.类型.值 身份:每个对象都有一个唯一的身份标识自己,任何对象的身份可 ...

  4. 神州行省内流量套餐6元500M申请,发送BLSN6到10086即可

    神州行流量套餐,神州行省内流量套餐6元500M申请,发送BLSN6到10086即可申请开通专属流量包,比全国5元30M划算多了4G全国流量套餐 5元/30M 10元/100M 20元/300M 30元 ...

  5. 处理内容有&特殊字符thinkphp返回xml无法解析的问题<![CDATA[xxx]]>

    处理内容有&特殊字符thinkphp返回xml无法解析的问题<![CDATA[xxx]]> // xml 转义特殊字符 如&'" <![CDATA[&quo ...

  6. CEF之CefSettings设置locale

    参考:https://blog.csdn.net/xiezhongyuan07/article/details/84402083 在开发过程遇到一个问题,CEF加载一个静态页面,然后在静态页面上有一个 ...

  7. Spark On YARN 分布式集群安装

    一.导读 最近开始学习大数据分析,说到大数据分析,就必须提到Hadoop与Spark.要研究大数据分析,就必须安装这两个软件,特此记录一下安装过程.Hadoop使用V2版本,Hadoop有单机.伪分布 ...

  8. linux下的下载之道

    a.场景: 平时会使用百度网盘下载电影,但是用ios版的百度云实在是有点慢,而平时不用windows,因此只能在linux上寻找解决之道. b.背景(我正在使用中): linux:ubuntu 14. ...

  9. P4013 数字梯形问题 网络流二十四题

    P4013 数字梯形问题 题目描述 给定一个由 nn 行数字组成的数字梯形如下图所示. 梯形的第一行有 m 个数字.从梯形的顶部的 m 个数字开始,在每个数字处可以沿左下或右下方向移动,形成一条从梯形 ...

  10. ACM-ICPC 2018 焦作赛区网络预赛G Give Candies(隔板定理 + 小费马定理 + 大数取模,组合数求和)题解

    题意:给你n个东西,叫你把n分成任意段,这样的分法有几种(例如3:1 1 1,1 2,2 1,3 :所以3共有4种),n最多有1e5位,答案取模p = 1e9+7 思路:就是往n个东西中间插任意个板子 ...