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 西安

目录
相关文章
|
Java Linux 程序员
【Linux系列】离线安装openjdk17的rpm包
【Linux系列】离线安装openjdk17的rpm包
|
关系型数据库 MySQL
Mysql报错:InnoDB: Operating system error number 13 in a fil..的解决方法
Mysql报错:InnoDB: Operating system error number 13 in a fil..的解决方法
731 0
|
网络协议 安全 网络安全
揭秘互联网的隐形斗篷:你的DNS数据真的安全吗?
【8月更文挑战第27天】在互联网中,每个网站通过IP地址定位,但记忆这些数字困难且存在安全风险。因此,域名系统(DNS)诞生,实现域名与IP之间的转换。然而,未加密的DNS请求易受中间人攻击,导致隐私泄露或恶意软件植入。为解决此问题,DNS-over-HTTPS(DoH)和DNS-over-TLS(DoT)协议应运而生,它们通过对DNS查询进行加密确保数据传输安全。本文将介绍这两种协议,并通过示例展示如何配置支持DoT的DNS服务器,包括安装dnscrypt-proxy、编辑配置文件及重启服务等步骤。
774 0
|
运维 Kubernetes 应用服务中间件
Higress × OpenKruiseGame 游戏网关最佳实践
本文将演示 Higress 如何无缝对接 OKG 游戏服,并为其带来的优秀特性。
134758 93
|
存储 缓存 负载均衡
NGINX 性能调优的五大技巧
【8月更文挑战第27天】
337 5
|
IDE Java Spring
Spring Boot中的多模块项目构建
Spring Boot中的多模块项目构建
|
负载均衡 网络协议 算法
网卡设置 多网卡的7种bond模式原理
网卡设置 多网卡的7种bond模式原理
404 0
|
Linux 语音技术
FaceBook推出新的翻译模型Seamless!可实现跨语言交流的无缝衔接!
FaceBook推出新的翻译模型Seamless!可实现跨语言交流的无缝衔接!
401 0
|
消息中间件 Kafka Python
python-kafka客户端封装
python-kafka客户端封装
171 0
|
人工智能 自然语言处理 Java
本地安装使用ModelScope
本地安装使用ModelScope
6145 1
本地安装使用ModelScope