首页/新闻资讯/正文详情

Excel 之 VBA 宏编辑

发布时间:2026/11/3 16:35:20 来源:云帆数科 栏目:资讯中心
Excel 之 VBA 宏编辑
VBA 宏编辑目录一、VBA 宏编辑1. 一键转换净值与清除#N/A格式2. 一键表格为三线表(带内部虚线版)2.1. VB宏编辑器2.2. WPS宏编辑器一、VBA 宏编辑1. 一键转换净值与清除#N/A格式下面集合了通过对B,C,D,E四列的格式转换如把格式为空及公式匹配为#N/A的转换为空将公式转换的值转为净值的操作同时包含有对转换后标题样式及内容区域样式的设置如标题是微软雅黑加粗11号字体且垂直居中区域内容为微软雅黑不加粗10号字体且垂直居中。Sub 一键处理JKLM()Dim ws As Worksheet Set wsActiveSheet Dim lastRowB As Long, lastRowC As Long Dim lastRowD As Long, lastRowE As Long lastRowBws.Cells(ws.Rows.Count,B).End(xlUp).Row lastRowCws.Cells(ws.Rows.Count,C).End(xlUp).Row lastRowDws.Cells(ws.Rows.Count,D).End(xlUp).Row lastRowEws.Cells(ws.Rows.Count,E).End(xlUp).Row If lastRowB2Then lastRowB2If lastRowC2Then lastRowC2If lastRowD2Then lastRowD2If lastRowE2Then lastRowE2 列标题 With ws.Range(J1:M1) .Value Array(物料编码, 转化SKU, 转化项目号, 转化95码) .Font.Name Microsoft YaHei .Font.Size 11 .Font.Bold True .HorizontalAlignment xlCenter .VerticalAlignment xlCenter End With 设置列宽ws.Columns(J:M).ColumnWidth12.8 J 列依赖 B With ws.Range(J2:J lastRowB) .Formula IF(ISNA(B2),,IF(B2,,B2)) .Value .Value End With K 列依赖 CWith ws.Range(K2:KlastRowC).FormulaIF(ISNA(C2),,IF(C2,,C2)).Value.Value End With L 列依赖 D With ws.Range(L2:L lastRowD) .Formula IF(ISNA(D2),,IF(LEN(D2)4,D2J,LEFT(D2,5))) .Value .Value End With M 列依赖 EWith ws.Range(M2:MlastRowE).FormulaIF(ISNA(E2),,IF(E2,,E2)).Value.Value End With 内容区域样式With ws.Range(J2:MApplication.Max(lastRowB, lastRowC, lastRowD, lastRowE)).Font.NameMicrosoft YaHei.Font.Size10.Font.BoldFalse .HorizontalAlignmentxlCenter .VerticalAlignmentxlCenter End With End Sub2. 一键表格为三线表(带内部虚线版)2.1. VB宏编辑器Sub 企业级三线表()Dim tbl As Table For Each tbl In ActiveDocument.Tables On Error Resume Next 自动适应页面宽度 tbl.AutoFitBehavior wdAutoFitWindow 尝试平均分配列宽 tbl.AllowAutoFitFalse tbl.Columns.DistributeWidth 水平居中 tbl.Range.ParagraphFormat.Alignment wdAlignParagraphCenter 垂直居中 tbl.Range.Cells.VerticalAlignmentwdCellAlignVerticalCenter 行高自动 tbl.Rows.HeightRule wdRowHeightAuto 清除所有边框 tbl.Borders.EnableFalse 顶线1.5磅 With tbl.Borders(wdBorderTop) .LineStyle wdLineStyleSingle .LineWidth wdLineWidth150pt End With 底线1.5磅 With tbl.Borders(wdBorderBottom).LineStylewdLineStyleSingle .LineWidthwdLineWidth150pt End With 内部横线点状虚线 With tbl.Borders(wdBorderHorizontal) .LineStyle wdLineStyleDot .LineWidth wdLineWidth050pt End With 内部竖线点状虚线 With tbl.Borders(wdBorderVertical).LineStylewdLineStyleDot .LineWidthwdLineWidth050pt End With 去掉左右边框 tbl.Borders(wdBorderLeft).LineStyle wdLineStyleNone tbl.Borders(wdBorderRight).LineStyle wdLineStyleNone 栏目线第一行下边框 With tbl.Rows(1).Borders(wdBorderBottom).LineStylewdLineStyleSingle .LineWidthwdLineWidth075pt End With On Error GoTo0Next tbl MsgBox企业报告表格样式处理完成, vbInformation End Sub2.2. WPS宏编辑器function标准三线表(){for(let 表格 of ActiveDocument.Tables){// 自动适应页面 表格.AutoFitBehavior(2);// 平均分布列宽 表格.Columns.DistributeWidth();// 水平居中 表格.Range.ParagraphFormat.Alignment1;// 垂直居中 表格.Range.Cells.VerticalAlignment1;// 行高自动 表格.Rows.Height0;// 字体 表格.Range.Font.Name宋体;表格.Range.Font.Size10.5;// 表头加粗if(表格.Rows.Count1){表格.Rows(1).Range.Boldtrue;}// 清除所有边框 表格.Borders.Enablefalse;//顶线1.5磅表格.Borders.Item(-1).LineStyle1;表格.Borders.Item(-1).LineWidth12;//底线1.5磅表格.Borders.Item(-3).LineStyle1;表格.Borders.Item(-3).LineWidth12;//栏目线0.75磅if(表格.Rows.Count1){表格.Rows(1).Borders.Item(-3).LineStyle1;表格.Rows(1).Borders.Item(-3).LineWidth6;}// 去除左右边框 表格.Borders.Item(-2).LineStyle0;表格.Borders.Item(-4).LineStyle0;}}

相关推荐

平台介绍-json解析组件
平台介绍-json解析组件

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 4:33:34

AI 编程 5000 条对话后的复盘与反思
AI 编程 5000 条对话后的复盘与反思

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/1 1:34:17

Windows 10 环境部署 Claude Code 教程
Windows 10 环境部署 Claude Code 教程

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 4:36:46

用C++从零手写CNN恶意软件检测:完整实现与踩坑记录
用C++从零手写CNN恶意软件检测:完整实现与踩坑记录

作为一个平时主要用 Python 写深度学习、但偏偏要在某些场景下用 C 把模型落地的人,我对“C 深度学习”这几个字真是又爱又恨。这个系列前面聊了环境搭建和基础张量操作,这篇“第三弹”我想直接来点硬核的:不聊理论推导,而是逐步用… · 2026/11/3 16:34:55

打造你的arXiv每日分析流程:从订阅到自动化
打造你的arXiv每日分析流程:从订阅到自动化

每天早上打开邮箱,arXiv 的订阅摘要已经躺在那里。标题按分类排好,作者名字熟悉得能认出是哪几个组在动,摘要里混着术语和实验结果。别人刷新闻,我刷的是 arXiv——这个习惯我坚持了快五年,期间把每天刷 arXiv 的时间从… · 2026/11/3 16:34:55

arXiv论文日报实战:从订阅机制到高效筛选的完整攻略
arXiv论文日报实战:从订阅机制到高效筛选的完整攻略

每天早上八点,我做的第一件事不是刷消息,而是打开 arXiv,把当天的论文列表拉下来过一遍。这个习惯坚持了挺久,从最早的“随手翻翻”慢慢变成了固定产出的每日论文分析报告。今天这篇就把这段时间摸出来的门道一次性说清楚&#xf… · 2026/11/3 16:34:55

MobaXterm:运维工程师的终极远程管理工具箱
MobaXterm:运维工程师的终极远程管理工具箱

1. MobaXterm为何成为运维工程师的首选工具 第一次接触MobaXterm是在2015年的一次数据中心迁移项目中。当时需要在Windows环境下同时管理数十台Linux服务器,传统的PuTTYXming组合在多重跳转和文件传输时频繁崩溃。同事推荐的这个绿色软件,一用就是八年。… · 2026/11/3 16:34:55

arXiv每日论文分析报告:从订阅到筛选的自动化流水线
arXiv每日论文分析报告:从订阅到筛选的自动化流水线

今天是2026年9月23日,周三。早上六点半,我照例先打开arXiv,刷了一遍cs.AI和cs.LG的新列表,再跑一遍自己的筛选脚本,把值得跟的论文挑出来。这件事我坚持了快四年。说实话,arXiv每天数千篇新提交&#xff0c… · 2026/11/3 16:34:55

Function Calling参数校验:用Zod schema拦截模型编造参数
Function Calling参数校验:用Zod schema拦截模型编造参数

你有没有遇到过这种情况:对接 Function Calling 时,模型一本正经地返回一段 JSON 参数,格式规整、字段齐全,但里面的值根本没法用——日期是2024-13-45,城市是"北京"后面跟着看不见的换行符,数量… · 2026/11/3 16:33:54

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 6:04:24

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 5:52:46

STM32F411RE与MAX14431实现SPI隔离:工业现场抗共模干扰实战
STM32F411RE与MAX14431实现SPI隔离:工业现场抗共模干扰实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59

ESP32+大模型AI硬件开发:从Demo到产品的8个工程问题
ESP32+大模型AI硬件开发:从Demo到产品的8个工程问题

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59

基于MAX14431BAEE+与PIC18F85J10的SPI隔离方案设计与实践
基于MAX14431BAEE+与PIC18F85J10的SPI隔离方案设计与实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 6:04:24

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 5:52:46

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码