标题 | Excel行数据批量输出为Word样式文档 |
范文 | 连春来 摘要: Excel行数据批量输出为Word样式文档步骤;VBA宏代码的简单应用 关键词:创建表;创建宏代码 ;自动复制表;程序创建引用 中图分类号: TP311? ? ? 文献标识码:A 文章编号:1009-3044(2020)36-0192-02 1 提出问题 Excel表是行列结构的,优点是方便筛选、排序、计算、分析、统计功能,但列数据比较多时,就不够直观,打印、查看都不方便,如表1(只截取部分表): Excel表还可以有更直观的呈现方式,每行数据输出为Word样式文档,如表2(只截取部分表): 上述行列表、直观表各有优点,如何在行列表中操作数据,后输出为直观表?比如某表有400行的调查数据,全部输出为400张Word样式文档,如何来提高工作效率? 2 分析问题 批量输出的可行性分析: 1)两种表之间可通过单元格引用,形成一一对应关系; 2)输出表通过复制,能生成多表,可借助VBA宏代码实现快速自动复制; 3)输出表的每一单元格的引用,可以通过VBA宏代码的循环替换生成一一对应行列表单元格。 4)通过对输出表进行选择性粘贴,解除单元格的引用,生成不带公式的表。 3 实例应用 3.1 第一步,R1C1引用样式设置(Excel2003为例) 在Excel主界面,默认使用“A1”格式为单元格引用,现转换为“R1C1”引用样式,目的是为单元格行列数字替换做准备。设置步骤:Excel菜单工具→选项→常规,在“设置”中单击“R1C1引用样式(C)”前面方框,最后单击确定,单元格数字引用样式完成设置,如“R2C5”, “R10C15”。 设置前,列表示为A,B,C,D,E,F…,列是用字母表示,如表3。 设置后,列表示为1,2,3,4,5,6…,列是用数字表示,如表4。 3.2 第二步,创建设计表和数据表 1)创建设计表,表名为“设计表”,样式如表5。 2)创建数据表,表名“sheet5”,添加如表6内容(为尽可能多显示,数值用数字代替)。 3.3 第三步,k值替换 用“ #Sheet5!R?yC?z&"" ”替换设计表3.2.1中的k值,其“R”为行,“?y”表示行数, C为列,“?z”表示列数(如Sheet5!R1C2,表示引用的是表“Sheet5”的1行2列的数据),&""表示连接空格(目的是数据显示为字符格式),替换后如表7: 3.4 第四步,创建VBA宏代码模块--用于复制表 创建VBA宏代码模块,用于复制表(模块名称为“表添加()”),VBA宏代码如图1。 动态参数说明:A1:R36? 为复制区域(不同的表,区域会不同,是动态的); 运行此模块后,复制成5张一样的表。 3.5 第五步,创建VBA宏代码模块--用于单元格行列引用参数替换 创建用于单元格行列引用参数替换的VBA宏代码模块(名称为“表行列增加()”),如图2。 动态参数说明: 运行此模块后,设计表第一张表替换后如表8, 第二张表替换后如表9。 设计表第一张表的单元格,对应sheet5表第二行的相应单元格; 设计表第二张表的单元格,对应sheet5表第三行的相应单元格; 设计表第三张表的单元格,对应sheet5表第四行的相应单元格; 依次类推,形成设计表的各单张表与sheet5表的行有一一对应关系。 3.6 第六步,设计表生成引用公式(如“#sheet5!R2c2&""”生成引用“=Sheet5!R2C2”) 由Excel菜单“编辑” →“查找替换”, 把“#”替换为“=”,生成引用公式,如设计表“R3C4”单元格的值引用了表“Sheet5”的“R2C2” 单元格的值,表2对应表1。 至此,Excel行列结构数据表“sheet5”批量输出为Word样式文档“设计表”,转换完成。 4 注意事项及相关问题 1)单元格不能转换生成公式时,单元格设置成常规格式; 2)设计表要脱离公式引用,可全选表格,在当前表右擊,选择性粘贴; 3)直观表转行列表,简单多了,反引用二行,向下拉就成了。 【通联编辑:李雅琪】 |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。