当前位置: 首页 > news >正文

excel根据数据批量创建并重命名工作表

需求

根据一列数据,批量创建并重命名工作表

在这里插入图片描述

做法

1. 右键该sheet,选择查看代码

在这里插入图片描述

2. 输入VBA代码

正向创建

Sub create_sheets_by_col()Dim num%'  定义为integer*num = Application.WorksheetFunction.CountA(Sheet1.Range("A:A"))'  num是非空单元格数For i = 1 To numSheets.Add after:=ActiveSheetSheets(i + 1).SelectSheets(i + 1).Name = Sheet1.Cells(i, 1)Next i
End Sub

在这里插入图片描述

解释
Sub create_sheets_by_col()
  • Sub 关键字用于声明一个子程序或宏。create_sheets_by_col 是子程序的名字,这个名字表明了宏的目的,即通过某一列的数据来创建新的工作表。
    Dim num%
  • Dim 关键字用于声明一个变量。num% 声明了一个名为 num 的整型变量(Integer)。在VBA中,变量类型是通过在变量名后面加上一个类型声明字符来指定的,% 表示整型。
    num = Application.WorksheetFunction.CountA(Sheet1.Range("A:A"))
  • 这行代码使用Excel的 WorksheetFunction 对象的 CountA 方法来计算 Sheet1 工作表中A列的非空单元格数量。Application.WorksheetFunction 是访问Excel工作表函数的方式,CountA 函数计算指定范围内的非空单元格数。Sheet1.Range("A:A") 指定了 Sheet1 工作表的A列。
    For i = 1 To num
  • 这行代码开始了一个 For 循环。循环变量 i 从1开始,一直增加到 num 的值。循环将重复执行下面的代码块,每次循环 i 的值都会增加1。
        Sheets.Add after:=ActiveSheet
  • 在循环体内,Sheets.Add after:=ActiveSheet 是一个方法调用,它会在当前活动的工作表之后添加一个新的工作表。ActiveSheet 是一个内置属性,代表当前选中的工作表。
        Sheets(i + 1).Select
  • Sheets(i + 1).Select 选择并激活新添加的工作表。因为新工作表是在当前活动工作表之后添加的,所以它的索引位置是 i + 1
        Sheets(i + 1).Name = Sheet1.Cells(i, 1)
  • 这行代码将新工作表的名称设置为 Sheet1 工作表中第 i 行第1列的单元格内容。这意味着每个新创建的工作表将以其对应的A列单元格内容命名。
    Next i
  • Next i 语句标志着 For 循环的结束。每次循环结束时,i 的值都会增加1,直到它等于 num,此时循环停止。
End Sub
  • End Sub 语句表示子程序的结束。这是宏定义的最后一行代码,它告诉VBA宏编辑器子程序的代码到此结束。

总体来说,这段代码的目的是遍历 Sheet1 工作表的A列,对于每个非空单元格,都会创建一个新的工作表,并将新工作表的名称设置为该单元格的值。这样,如果A列有5个非空单元格,那么就会创建5个新工作表,每个工作表的名称对应于A列中相应行的单元格内容。

效果

在这里插入图片描述

反向创建

Sub create_sheets_by_col_rev()Dim num%num = Application.WorksheetFunction.CountA(Sheet1.Range("A:A"))For i = 1 To numSheets.AddSheets(1).Name = Sheet1.Cells(i, 1)' Sheet1=Sheets(i+1), sheet1随着新工作表的建立被往后挤,序列数随之增大Next i
End Sub

在这里插入图片描述

解释
Sub create_sheets_by_col_rev()
  • Sub 关键字用于声明一个子程序或宏。create_sheets_by_col_rev 是子程序的名字,这个名字表明了宏的目的是通过某一列的数据来创建新的工作表,并且可能有一些修改或优化(由“rev”后缀暗示)。
    Dim num%
  • Dim 关键字用于声明一个变量。num% 声明了一个名为 num 的整型变量(Integer)。
    num = Application.WorksheetFunction.CountA(Sheet1.Range("A:A"))
  • 这行代码使用Excel的 WorksheetFunction 对象的 CountA 方法来计算 Sheet1 工作表中A列的非空单元格数量。Application.WorksheetFunction 是访问Excel工作表函数的方式,CountA 函数计算指定范围内的非空单元格数。Sheet1.Range("A:A") 指定了 Sheet1 工作表的A列。
    For i = 1 To num
  • 这行代码开始了一个 For 循环。循环变量 i 从1开始,一直增加到 num 的值。循环将重复执行下面的代码块,每次循环 i 的值都会增加1。
        Sheets.Add
  • 在循环体内,Sheets.Add 是一个方法调用,它会在工作簿的末尾添加一个新的工作表。
        Sheets(1).Name = Sheet1.Cells(i, 1)
  • 这行代码将新添加的工作表(现在是工作簿中的第一个工作表,索引为1)的名称设置为 Sheet1 工作表中第 i 行第1列的单元格内容。这意味着每个新创建的工作表将以其对应的A列单元格内容命名。
    Next i
  • Next i 语句标志着 For 循环的结束。每次循环结束时,i 的值都会增加1,直到它等于 num,此时循环停止。
End Sub
  • End Sub 语句表示子程序的结束。这是宏定义的最后一行代码,它告诉VBA宏编辑器子程序的代码到此结束。

总体来说,这段代码的目的是遍历 Sheet1 工作表的A列,对于每个非空单元格,都会在工作簿的末尾创建一个新的工作表,并将新工作表的名称设置为该单元格的值。每次添加新工作表后,原有的工作表索引位置都会增加,因此新工作表始终是工作簿中的第一个工作表,其索引为1。

效果

在这里插入图片描述

相关文章:

excel根据数据批量创建并重命名工作表

需求 根据一列数据,批量创建并重命名工作表 做法 1. 右键该sheet,选择查看代码 2. 输入VBA代码 正向创建 Sub create_sheets_by_col()Dim num% 定义为integer*num Application.WorksheetFunction.CountA(Sheet1.Range("A:A")) num是非空…...

智能合约和分布式应用管理系统:技术革新与未来展望

引言 随着区块链技术的不断发展,智能合约和分布式应用(DApps)逐渐成为数字经济中的重要组成部分。智能合约是一种自执行的协议,能够在预设条件满足时自动执行代码,而无需人工干预或中介机构。这种自动化和信任机制极大…...

Spring MVC 中的拦截器的使用“拦截器基本配置” 和 “拦截器高级配置”

1. Spring MVC 中的拦截器的使用“拦截器基本配置” 和 “拦截器高级配置” 文章目录 1. Spring MVC 中的拦截器的使用“拦截器基本配置” 和 “拦截器高级配置”2. 拦截器3. Spring MVC 中的拦截器的创建和基本配置3.1 定义拦截3.2 拦截器基本配置3.3 拦截器的高级配置 4. Spr…...

MyBatis框架学习笔记(四):动态SQL语句、映射关系和缓存

1 动态 SQL 语句-更复杂的查询业务需求 1.1 动态 SQL-官方文档 (1)文档地址: mybatis – MyBatis 3 | 动态 SQL (2)为什么需要动态 SQL 动态 SQL 是 MyBatis 的强大特性之一 使用 JDBC 或其它类似的框架,根据不同条…...

【C++PythonJava】字符处理详细解读_字符_ASCLL码_字母数字转换_算法竞赛_开发语言

文章目录 Beginning1)ASCLL 码2)大小比较2)判断数字字符3)字符、数字间的相互转换End Beginning 在 C 中,字符和整数有着密不可分的关系。原因就是在计算机中,字符是以一种较 ASCLL 码的整数存储的。自然&…...

人像视频淡入淡出效果的灵敏检验方法

在视频中经常会有淡入淡出的效果,这可能导致人脸检测在实际人已经离开画面之后仍然触发,特别是在使用基于像素强度变化的检测算法时。为了更精确地裁剪视频,你可以尝试以下几种方法: 使用更复杂的人脸检测模型: 有些…...

Unity UGUI Image Maskable

在Unity的UGUI系统中,Maskable属性用于控制UI元素是否受到父级遮罩组件的影响。以下是关于这个属性的详细说明和如何使用: Maskable属性 Maskable属性: 当你在GameObject上添加一个Image组件(比如UI面板或按钮)时&…...

SpringCloud | 单体商城项目拆分(微服务)

为什么要进行微服务拆分? 在平常的商城项目中,我们一般的项目结构模块都是将各种业务放在同一个项目文件夹,比如像: 用户,购物车,商品,订单,支付等业务都是放在一起,这样…...

uniapp 如何实现路由拦截,路由守卫

uniapp框架的全局文件:page.json全局文件,官网链接 背景: 通过封装 UniApp 的路由方法,并在封装方法中添加自定义逻辑,可以实现类似 Vue Router 的路由守卫功能。 在 UniApp 框架中,不像 Vue Router 直接支…...

人工智能算法工程师(中级)课程13-神经网络的优化与设计之梯度问题及优化与代码详解

大家好,我是微学AI,今天给大家介绍一下人工智能算法工程师(中级)课程13-神经网络的优化与设计之梯度问题及优化与代码详解。 文章目录 一、引言二、梯度问题1. 梯度爆炸梯度爆炸的概念梯度爆炸的原因梯度爆炸的解决方案 2. 梯度消失梯度消失的概念梯度…...

Qt/QML学习-ComboBox

QML学习 ComboBox例程视频讲解代码 main.qml import QtQuick 2.15 import QtQuick.Window 2.15 import QtQuick.Controls 2.15Window {width: 640height: 480visible: truetitle: qsTr("ComboBox")ComboBox {id: comboBox// 列表项数据模型model: ListModel {List…...

微服务实战系列之玩转Docker(一)

前言 话说计算机的“小型化”发展,历经了大型机、中型机直至微型机,贯穿了整个20世纪的下半叶。同样,伴随着计算机的各个发展阶段,如何做到“资源共享、资源节约”,也一直是一代又一代计算机人的不懈追求和历史使命。今…...

Java中常见的语法糖

文章目录 概览泛型增强for循环自动装箱与拆箱字符串拼接枚举类型可变参数内部类try-with-resourcesLambda表达式 概览 语法糖是指编程语言中的一种语法结构,它们并不提供新的功能,而是为了让代码更易读、更易写而设计的。语法糖使得某些常见的编程模式或…...

数据库使用SSL加密连接

简介 数据库开通SSL加密连接是确保数据传输过程中安全性的关键措施,它通过加密数据、验证服务器身份、保护敏感信息、维护数据完整性和可靠性,同时满足行业标准和法规要求,进而提升用户体验和信任度,为企业的数据安全和业务连续性…...

华为OD算法题汇总

60、计算网络信号 题目 网络信号经过传递会逐层衰减,且遇到阻隔物无法直接穿透,在此情况下需要计算某个位置的网络信号值。注意:网络信号可以绕过阻隔物 array[m][n],二维数组代表网格地图 array[i][j]0,代表i行j列是空旷位置 a…...

服务器的rabbitmq的guest账号登不进去

要配置 RabbitMQ 允许 guest 账号从非 localhost 地址登录,需要执行以下步骤: 编辑 RabbitMQ 配置文件: 打开 RabbitMQ 的配置文件,通常位于 /etc/rabbitmq/rabbitmq.conf 或者 /etc/rabbitmq/rabbitmq-env.conf。如果这些文件不存…...

决策树(ID3,C4.5,C5.0,CART算法)以及条件推理决策树R语言实现

### 10.2.1 ID3算法基本原理 ### mtcars2 <- within(mtcars[,c(cyl,vs,am,gear)], {am <- factor(am, labels c("automatic", "manual"))vs <- factor(vs, labels c("V", "S"))cyl <- ordered(cyl)gear <- ordered…...

文心一言《使用手册》,文心一言怎么用?

一、认识文心一言 &#xff08;一&#xff09;什么是文心一言 文心一言是百度研发的 人工智能大语言模型产品&#xff0c;能够通过上一句话&#xff0c;预测生成下一段话。 任何人都可以通过输入【指令】和文心一言进行对话互动、提出问题或要求&#xff0c;让文心一言高效地…...

Spring Boot集成qwen:0.5b实现对话功能

1.什么是qwen:0.5b&#xff1f; 模型介绍&#xff1a; Qwen1.5是阿里云推出的一系列大型语言模型。 Qwen是阿里云推出的一系列基于Transformer的大型语言模型&#xff0c;在大量数据&#xff08;包括网页文本、书籍、代码等&#xff09;进行了预训练。 硬件要求&#xff1a;…...

GreenDao实现原理

GreenDao 是一款针对 Android 平台优化的轻量级对象关系映射 (ORM) 框架&#xff0c;它将 Java 对象映射到 SQLite 数据库&#xff0c;以简化数据持久化操作。GreenDao 的主要优点包括高性能、低内存占用、易于使用以及对数据库加密的支持。 以下是基于源码的 GreenDao 实现原…...

idea大量爆红问题解决

问题描述 在学习和工作中&#xff0c;idea是程序员不可缺少的一个工具&#xff0c;但是突然在有些时候就会出现大量爆红的问题&#xff0c;发现无法跳转&#xff0c;无论是关机重启或者是替换root都无法解决 就是如上所展示的问题&#xff0c;但是程序依然可以启动。 问题解决…...

【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密

在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

系统设计 --- MongoDB亿级数据查询优化策略

系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log&#xff0c;共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题&#xff0c;不能使用ELK只能使用…...

定时器任务——若依源码分析

分析util包下面的工具类schedule utils&#xff1a; ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类&#xff0c;封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz&#xff0c;先构建任务的 JobD…...

DBAPI如何优雅的获取单条数据

API如何优雅的获取单条数据 案例一 对于查询类API&#xff0c;查询的是单条数据&#xff0c;比如根据主键ID查询用户信息&#xff0c;sql如下&#xff1a; select id, name, age from user where id #{id}API默认返回的数据格式是多条的&#xff0c;如下&#xff1a; {&qu…...

聊一聊接口测试的意义有哪些?

目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开&#xff0c;首…...

什么是Ansible Jinja2

理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具&#xff0c;可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板&#xff0c;允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板&#xff0c;并通…...

#Uniapp篇:chrome调试unapp适配

chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器&#xff1a;Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...

佰力博科技与您探讨热释电测量的几种方法

热释电的测量主要涉及热释电系数的测定&#xff0c;这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中&#xff0c;积分电荷法最为常用&#xff0c;其原理是通过测量在电容器上积累的热释电电荷&#xff0c;从而确定热释电系数…...

[ACTF2020 新生赛]Include 1(php://filter伪协议)

题目 做法 启动靶机&#xff0c;点进去 点进去 查看URL&#xff0c;有 ?fileflag.php说明存在文件包含&#xff0c;原理是php://filter 协议 当它与包含函数结合时&#xff0c;php://filter流会被当作php文件执行。 用php://filter加编码&#xff0c;能让PHP把文件内容…...