VBA实例-从Excel整理数据到Word

实现目录

  • 功能需求
    • 数据结构
    • 复制数据到新sheet并分类数据
      • 添加序号、日期、时间三列数据
        • 添加序号列
        • 添加时间列
      • 将名称和类别复制到word文件中
        • 将参数5和参数9中的一个复制到word文件中
    • 实例

功能需求

1、将原始数据中不要的数据剔除
2、原始数据中增加序号、日期和时间三列数据,并且按报名类别进行分类。
3、形成时间表
4、将名称和类别复制到评分表中,一个名称一个word文档
5、将数据中的参数5和参数9复制到评分表中

数据结构

在这里插入图片描述

复制数据到新sheet并分类数据

If CheckIsExistsSheetName("时间表") ThenThisWorkbook.Sheets("时间表").DeleteEnd IfApplication.DisplayAlerts = TrueFor i = 2 To SumRowsrefValue = SourceSheet.Cells(i, 5) * 1If refValue > finalValue ThenfinalValue = refValueEnd IfNext iFor TargetDeviceSerialNumber = 1 To finalValueSet Gradeword = wdapp.Documents.Open(ThisWorkbook.Path & "\评分表.docx")Debug.Print Gradeword.Tables(1).Cell(3, 1).Range.TextGradeword.Sentences(2).Characters(27) = EquipSectionsheet.Cells(TargetDeviceSerialNumber + 1, 3).Text Gradeword.Sentences(2).Characters(8) = EquipSectionsheet.Cells(TargetDeviceSerialNumber + 1, 2).Text jj = 3For j = 2 To SumRowsrefValue = SourceSheet.Cells(j, 5) * 1If refValue = TargetDeviceSerialNumber ThenUseRows = UseRows + 1SourceSheet.Rows(j).Copy DestSheet.Cells(UseRows, 1)If IsEmpty(SourceSheet.Cells(j, 10)) ThenGradeword.Tables(1).Cell(jj, 2).Range = SourceSheet.Cells(j, 14).TextElseGradeword.Tables(1).Cell(jj, 2).Range = SourceSheet.Cells(j, 10).TextEnd Ifjj = jj + 1End IfNext jarr(TargetDeviceSerialNumber) = UseRows'Debug.Print'Gradeword.SaveAs2 (ThisWorkbook.Path + "\" + EquipSectionsheet.Cells(TargetDeviceSerialNumber + 1, 2).Text + "评分表" + "(" + EquipSectionsheet.Cells(TargetDeviceSerialNumber + 1, 3).Text + ")" + ".docx")Gradeword.CloseSet Gradeword = NothingNext TargetDeviceSerialNumberfinalRows = UseRowsDestSheet.Columns("A:D").DeleteDestSheet.Range("C1").EntireColumn.Insert '序号DestSheet.Range("C1").EntireColumn.Insert '日期DestSheet.Range("C1").EntireColumn.Insert '时间DestSheet.Range("C1") = "序号"DestSheet.Range("D1") = "日期"DestSheet.Range("E1") = "时间"DestSheet.Cells(2, 5) = "9:00"For k = 2 To SumRowsDestSheet.Cells(k, 3) = "=COUNT($C$1:C" & (k - 1) & ")+1"Next kFor kk = 2 To SumRows - 1Day_mod = kk Mod (AM_ContrlRow + PM_ContrlRow)If Day_mod < AM_ContrlRow + 1 ThenDestSheet.Cells(Day_mod + 1, 5) = "=TEXT(E" & kk & "+" & Chr(34) & "0:10" & Chr(34) & "," & Chr(34) & "h:mm" & Chr(34) & ")"ElseIf Day_mod = AM_ContrlRow + 1 ThenDestSheet.Cells(Day_mod + 1, 5) = "14:00"ElseDestSheet.Cells(Day_mod + 1, 5) = "=TEXT(E" & kk & "+" & Chr(34) & "0:10" & Chr(34) & "," & Chr(34) & "h:mm" & Chr(34) & ")"End IfNext kk

添加序号、日期、时间三列数据

添加序号列

往单元格中添加公式”=COUNT($C$1:C(k-1))+1“即可生成序号。

For k = 2 To SumRowsDestSheet.Cells(k, 3) = "=COUNT($C$1:C" & (k - 1) & ")+1"Next k
添加时间列

往单元格中添加类似于”=TEXT(E2+“0:10”,“h:mm”)“的公式,即可生成每隔10分钟的序列。

**For kk = 2 To SumRows - 1Day_mod = kk Mod (AM_ContrlRow + PM_ContrlRow)If Day_mod < AM_ContrlRow + 1 ThenDestSheet.Cells(Day_mod + 1, 5) = "=TEXT(E" & kk & "+" & Chr(34) & "0:10" & Chr(34) & "," & Chr(34) & "h:mm" & Chr(34) & ")"ElseIf Day_mod = AM_ContrlRow + 1 ThenDestSheet.Cells(Day_mod + 1, 5) = "14:00"ElseDestSheet.Cells(Day_mod + 1, 5) = "=TEXT(E" & kk & "+" & Chr(34) & "0:10" & Chr(34) & "," & Chr(34) & "h:mm" & Chr(34) & ")"End IfNext kk**

将名称和类别复制到word文件中

Gradeword.Sentences(2).Characters(27) = EquipSectionsheet.Cells(TargetDeviceSerialNumber + 1, 3).Text Gradeword.Sentences(2).Characters(8) = EquipSectionsheet.Cells(TargetDeviceSerialNumber + 1, 2).Text 这两句语句是将
在这里插入图片描述
中的名称和类别分别填写到对应的word文件档-----"评分表.docx"中名称和类别处
在这里插入图片描述
即:
在这里插入图片描述

将参数5和参数9中的一个复制到word文件中

将参数5和参数9中的一个复现到 "评分表.docx"中参数5/参数9这列中

If IsEmpty(SourceSheet.Cells(j, 10)) ThenGradeword.Tables(1).Cell(jj, 2).Range = SourceSheet.Cells(j, 14).TextElseGradeword.Tables(1).Cell(jj, 2).Range = SourceSheet.Cells(j, 10).TextEnd Ifjj = jj + 1

在这里插入图片描述

实例

实例

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/49673.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

图片上传成功却无法显示:静态资源路径配置问题解析

1、故事的背景 最近&#xff0c;有个学弟做了一个简单的后台管理页面。于是他开始巴拉巴拉撘框架&#xff0c;写代码&#xff0c;一顿操作猛如虎&#xff0c;终于将一个简单的壳子搭建完毕。但是在实现功能&#xff1a;点击头像弹出上传图片进行头像替换的时候&#xff0c;卡壳…

三星Unpacked发布会即将举行:有新款折叠屏手机,还有智能戒指

随着7月的脚步渐近&#xff0c;科技界的目光再次聚焦于三星&#xff0c;它即将在法国巴黎举办今年的第二场Unpacked发布会。这不仅是一场新品的展示&#xff0c;更是三星对创新科技的一次深刻诠释。 从Galaxy Z Fold 6的全新设计&#xff0c;到Galaxy Z Flip 6的显著升级&…

CSS实现表格无限轮播

<div className{styles.tableTh}><div className{styles.thItem} style{{ width: 40% }}>报警名称</div><div className{styles.thItem} style{{ width: 35% }}>开始时间</div><div className{styles.thItem} style{{ width: 25% }}>状态&…

C++学习笔记-基类、派生类与虚函数关系

在C的面向对象编程中&#xff0c;基类&#xff08;Base Class&#xff09;、派生类&#xff08;Derived Class&#xff09;以及虚函数&#xff08;Virtual Functions&#xff09;构成了多态性的基石。这三者之间的关系错综复杂而又紧密相连&#xff0c;它们共同支撑起C中复杂而…

《后端程序猿 · @Value 注释说明》

&#x1f4e2; 大家好&#xff0c;我是 【战神刘玉栋】&#xff0c;有10多年的研发经验&#xff0c;致力于前后端技术栈的知识沉淀和传播。 &#x1f497; &#x1f33b; CSDN入驻不久&#xff0c;希望大家多多支持&#xff0c;后续会继续提升文章质量&#xff0c;绝不滥竽充数…

定制ESXi 8镜像教程

本文将详细说明从安装 PowerCLI 到定制 ESXi 8 镜像的整个过程。 安装 VMware PowerCLI 1. 打开 PowerShell 打开 PowerShell&#xff1a; 在 Windows 搜索栏中输入 PowerShell&#xff0c;然后右键点击“Windows PowerShell”&#xff0c;选择“以管理员身份运行”。你会看…

【Unity PC端打包exe封装一个并添加安装引导】

Unity PC端打包exe封装一个并添加安装引导 比特虫在线制作ico图标ico图标转换工具 选中打包出来的所有文件和ico图标 右键 使用RAR软件 添加到压缩文件 两个名称要相同 设置完点击确认等待压缩完成 然后就可以使用 Smart Install Maker制作引导安装程序了

过滤出List集合的元素是Person对象,过滤出每个元素非null的name字段得到String类型的集合

import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class Main { public static void main(String[] args) { List people Arrays.asList( new Person(“Alice”, 30), new Person(null, 25), new Person(“Charlie”, 35) ); //…

Thinkphp5实现前后端通过接口通讯基本操作方法

在ThinkPHP5框架中&#xff0c;实现前后端通过接口通讯是一个常见的需求&#xff0c;尤其是在开发RESTful API时。下面是一个基本的步骤指南&#xff0c;用于设置ThinkPHP5来创建API接口&#xff0c;并使前端能够通过HTTP请求与后端进行通讯。 1. 创建API模块 首先&#xff0…

解决Pycharm找不到conda可执行文件

解决&#xff1a; 在 ‘Conda 可执行文件’ 的输入框里面&#xff0c;找到并选中 anaconda\library\bin 路径下的“ conda.bat ” ,再点击‘ 加载环境 ’&#xff0c;即可出现 ‘ 使用现有环境 ’ 的输入框&#xff0c;如图所示。

【实现100个unity特效之8】使用ShaderGraph实现2d贴图中指定部分局部发光效果

最终效果 寒冰法师 火焰法师 文章目录 最终效果寒冰法师火焰法师 素材一、功能分析实现方法基本思路Unity的Bloom后处理为什么关键部位白色&#xff1f;最终结果 二、 新建URP项目三、合并图片四、使用PS制作黑白图片方法一 手动涂鸦方法二 魔棒工具1. 拖入图片进PS&#xff0…

Unity3d打包到Android

本文参考&#xff1a; Unity3D新手教程&#xff1a;如何打包发布到Android_哔哩哔哩_bilibili 一、Unity 打包Android的环境搭建 1、工具安装 Unity Hub已经集成了Android的环境搭建。 选择Add modules 然后安装Android Build Support下的所有工具。 如果各个工具都安装成功…

如何使用 win32com 库

以下是如何使用 win32com 库的基本步骤&#xff1a; 1. 安装 pywin32 win32com 是 pywin32 库的一部分&#xff0c;首先需要安装 pywin32&#xff1a; pip install pywin322. 导入 win32com.client import win32com.client3. 连接到 COM 对象 使用 win32com.client.Dispat…

给Windows系统中注入服务,即windwos守护进程

最近总是在windwos环境下测试nginx&#xff0c;总是需要频繁重启nginx服务。于是考虑有没有可能把nginx加入到系统服务的操作。在网上找了一大堆资料&#xff0c;现在来总结一下&#xff01; 方法1&#xff1a;利用nssm工具实现 这是一个守护进程的软件&#xff0c;可以在win…

FastGPT 知识库搜索测试功能解析(二)

目录 一、代码解析 1.1 searchTest.ts 1.2 controller.ts 本文接上一篇文章FastGPT 知识库搜索测试功能解析 对具体代码进行解析。 一、代码解析 FastGPT 知识库的搜索测试功能主要涉及两个文件,分别是 searchTest.ts 和 controller.ts 文件,下面分别进行介绍。 1.1 se…

关于海康网络摄像头使用VLC或者Opencv拉流有延迟的问题

环境&#xff1a;Windows VLC / Opencv-Python 先说结论&#xff0c;我用VLC或者Pyhton opencv直接拉取海康网络摄像头的rtsp流&#xff0c;会有1-2s延时&#xff0c;特别明显。后来搜到这边文章&#xff0c;解决了问题&#xff1a; 如何降低海康、大华等网络摄像头调用的高…

Optima: 一个用于 Tapestri 平台的单细胞多组学数据分析的开源 R 包

分子条形码技术的最新进展使得在单细胞水平进行下一代转录组测序成为可能&#xff0c;例如10 Genomics Chromium和DropSeq。此外&#xff0c;CITE-seq 的出现使得可以在对单个细胞进行转录组分析的基础上同时对表面蛋白进行分析。同时&#xff0c;为了表征 DNA 和蛋白质谱&…

ubuntu那些ppa源在哪

Ubuntu中的 PPA 终极指南 - UBUNTU粉丝之家 什么是PPA PPA 代表个人包存档。 PPA 允许应用程序开发人员和 Linux 用户创建自己的存储库来分发软件。 使用 PPA&#xff0c;您可以轻松获取较新的软件版本或官方 Ubuntu 存储库无法提供的软件。 为什么使用PPA&#xff1f; 正如…

添加动态云层

<template> <div class"topbox"> xx卫星管理 </div> <div class"selectbox"> <div class"title"> 卫星列表 </div> <el-table :data"tableData" style"width: 100%;height:230px;" …

亚信安慧AntDB-M负载均衡

负载均衡是分布式系统中常用的技术&#xff0c;主要是将工作任务均衡分布到系统的各个资源点上&#xff0c;可以充分利用系统资源。 AntDB-M分布式内存数据库节点角色可以分为管理节点(MN)、计算节点(CN)和数据节点(DN)三种。管理节点收到客户端连接请求后&#xff0c;会经由负…