Excel读取某一列的宏代码VBA代码源码及解说(详尽版)

简介: 背景业务需要依据详细设计文档编写所有对应的页面问题工作量大,11张大表(几十上百字段)时间紧 3天完成核心有完整的表设计,可通过excel手动编辑完成。新问题普通字段没问题,可增加了字典后工作量骤然提升,这种特殊性让工作的难度和体量都给手工操作Excel带来了挑战...

背景

业务需要依据详细设计文档编写所有对应的页面


问题

工作量大,11张大表(几十上百字段)时间紧 3天完成


核心

有完整的表设计,可通过excel手动编辑完成。


新问题

普通字段没问题,可增加了字典后工作量骤然提升,这种特殊性让工作的难度和体量都给手工操作Excel带来了挑战


解决方案

通过代码实现手工操作excel的工作,也就是编写VBA宏

Sub detailPage()
'
' 沫沫金
' 生成居民健康档案浏览器页面,时间: 2017/08/17
'
Dim tri As Integer, td, tableName, nameC, valC, dicC, saveC As String
'
'配置区域:Config
'
'三列一行控制器记录仪
tri = 1
'表名列
tableName = LCase(Cells(1, "D"))
'label列
nameC = "A"
'值列
valC = "B"
'字典列
dicC = "C"
'存储列
saveC = "F"

For n = 1 To [A65536].End(xlUp).Row
    '初始行内容
    td = ""
    '三列一行
    If tri = 1 Then td = "<tr>"
    '字段说明
    td = td + "<td width=''33%''><h3><i class=''ico ico_23''></i>" + Cells(n, nameC)
    '字典字段特殊处理
    If Cells(n, dicC) = "" Then
    td = td + "</h3><p>${sessionScope.data." + tableName + "[index]." + LCase(Cells(n, valC)) + "}</p></td>"
    Else
    td = td + "</h3><p><dic:dic type=""" + Cells(n, dicC) + """ value=""${sessionScope.data." + tableName + "[index]." + LCase(Cells(n, valC)) + "}"" /></p></td>"
    End If
    '三列一行结束处理
    If tri = 3 Then td = td + "</tr>"
    '拼接一行,扔到空闲列统一拷贝
    Cells(n, saveC) = td
    '当前列记录
    tri = tri + 1
    '三列一行控制器
    If tri > 3 Then tri = 1
Next n

MsgBox "恭喜你,详细信息生成成功。"
'
End Sub

启用宏,拷贝到代码区运行即可看到拼接结果。完全自定义拼接格式,百分百解放双手的工具。


下面,给java开发同伴重点说明下

if判断 条件不用圆括号
条件判断等于一个等号
格式排版必须控制好
没有分号


以上,运行说明,在当前的sheet页Alt+F8运行上面的宏。生成完成会收到友情提醒,好了,愉快的VBA结束。


by.沫沫金

于2017-08-17 西安

目录
相关文章
|
数据库连接 数据处理 数据库
怎么才算精通Excel呢?是能够编译出多层复杂的公式?还是用VBA代码实现Excel缺失的功能?当Excel能够实现数据报表看板、当Excel能够制作有趣的漫画,有没有启发你的代码编写创意?你都见过哪些真正“精通Excel”的操作?
怎么才算精通Excel呢?是能够编译出多层复杂的公式?还是用VBA代码实现Excel缺失的功能?当Excel能够实现数据报表看板、当Excel能够制作有趣的漫画,有没有启发你的代码编写创意?你都见过哪些真正“精通Excel”的操作?
100 1
VBA如何用Excel数据批量生成Word文档
VBA|用Excel数据批量生成并修改用模板创建的Word文档
|
4月前
|
开发工具
Excel VBA 笔记 第一次写代码-For循环 (Excel基础)
Excel VBA 笔记 第一次写代码-For循环 (Excel基础)
|
5月前
|
easyexcel Java 数据库
怎样用EasyExcel导出更多代码?
在处理大量数据导出时遇到Java OutOfMemoryError(OOM)。最初使用公司内部工具直接查询全量数据写入Excel,导致OOM。改用阿里EasyExcel后,虽偶发OOM,但问题依旧存在。为解决此问题,采用了分页查询并分批次写入Excel的方法,有效避免了OOM。为简化此过程,封装了一个EasyExcelExport抽象类,包含分批次导出和不分批次导出的方法。使用时需实现getData()和convertSourceData2ExportEntity()方法。通过示例展示了如何利用这个工具类进行分批导出,避免了内存溢出,并减少了重复代码。
|
5月前
|
存储 程序员 开发工具
【Excel VBA 从入门到出门】二、Excel VBA 简单使用
【Excel VBA 从入门到出门】二、Excel VBA 简单使用
103 2
|
5月前
|
数据安全/隐私保护 Python
Python办公自动化【Word转换PDF、PDF读取内容、PDF合并文件、PDF拆分文件、PDF加密文件、PPT基本操作-增加幻灯片、增加内容】(六)-全面详解(学习总结---从入门到深化)(下)
Python办公自动化【Word转换PDF、PDF读取内容、PDF合并文件、PDF拆分文件、PDF加密文件、PPT基本操作-增加幻灯片、增加内容】(六)-全面详解(学习总结---从入门到深化)
67 1
|
5月前
|
数据安全/隐私保护 Python Windows
Python办公自动化【Word转换PDF、PDF读取内容、PDF合并文件、PDF拆分文件、PDF加密文件、PPT基本操作-增加幻灯片、增加内容】(六)-全面详解(学习总结---从入门到深化)
Python办公自动化【Word转换PDF、PDF读取内容、PDF合并文件、PDF拆分文件、PDF加密文件、PPT基本操作-增加幻灯片、增加内容】(六)-全面详解(学习总结---从入门到深化)
102 0
|
5月前
|
数据安全/隐私保护 Python Windows
Python办公自动化【Word转换PDF、PDF读取内容、PDF合并文件、PDF拆分文件、PDF加密文件、PPT基本操作-增加幻灯片、增加内容】(六)-全面详解(学习总结---从入门到深化)(上)
Python办公自动化【Word转换PDF、PDF读取内容、PDF合并文件、PDF拆分文件、PDF加密文件、PPT基本操作-增加幻灯片、增加内容】(六)-全面详解(学习总结---从入门到深化)
106 0
|
存储 数据处理 数据库
程序设计之——手把手教你如何从Excel文件中读取学生信息
在当今信息化时代,计算机技术已经深入到各个领域,而程序设计则成为推动信息化建设的关键技术之一。在众多领域中,学生信息管理系统无疑是其中一个重要的应用。本文将从学生信息管理系统的开发入手,探讨开如何高效且保证质量的完成开发。
|
JavaScript 小程序 Java
ngBoot 我随手封装了一个万能的导出excel工具,传什么都能导出 上
ngBoot 我随手封装了一个万能的导出excel工具,传什么都能导出 上

相关实验场景

更多
下一篇
无影云桌面