当前位置: 首页 > 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 实现原…...

OpenClaw多模型对比:Qwen3.5-9B与Llama3本地接口性能实测

OpenClaw多模型对比&#xff1a;Qwen3.5-9B与Llama3本地接口性能实测 1. 测试背景与实验设计 去年在搭建个人自动化工作流时&#xff0c;我尝试用OpenClaw对接了多个开源大模型。当需要处理不同复杂度任务时&#xff0c;发现模型选择会显著影响最终效果。这次我决定用相同硬件…...

RTOS学习指南:从理论到实践的完整路径

1. RTOS入门路径解析&#xff1a;从理论到实践的完整指南作为一名嵌入式开发者&#xff0c;我经历过从裸机开发到RTOS应用的完整转型过程。记得第一次接触RTOS时&#xff0c;面对任务调度、信号量等新概念确实一头雾水。但通过系统学习和项目实践&#xff0c;我发现掌握RTOS并没…...

TCP 是用来解决什么问题:从 IP 的不可靠到可靠的端到端通信

TCP 是用来解决什么问题&#xff1a;从 IP 的不可靠到可靠的端到端通信01. 前言&#xff1a;为什么有了 IP 还不够&#xff1f;02. IP 协议的四大先天缺陷03. TCP 要解决的六大核心问题04. 问题一&#xff1a;丢包 → 确认 超时重传4.1 问题描述4.2 TCP 的解决方案05. 问题二&…...

云原生数据库的设计与实践:从架构到部署

云原生数据库的设计与实践&#xff1a;从架构到部署 前言 作为一个在数据深渊里捞了十几年 Bug 的女码农&#xff0c;我深知云原生技术对数据库的影响。随着云计算的快速发展&#xff0c;云原生数据库已经成为数据库技术的重要发展方向。今天&#xff0c;我就来聊聊云原生数据库…...

2026届最火的六大降重复率神器实际效果

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 目前人工智能生成内容大范围运用的情形下&#xff0c;致使 AIGC 检测识别率降低的工具适时出…...

别只盯着TCP!拆解大疆源码里MQTT协议的双通道设计:BASIC与DRC到底有啥区别?

大疆源码中的MQTT双通道设计&#xff1a;BASIC与DRC的工程哲学 在分析大疆无人机开源项目的通信架构时&#xff0c;一个有趣的设计选择跃然眼前——MQTT协议同时运行在TCP和WebSocket两种传输层上。这种看似冗余的配置背后&#xff0c;隐藏着对物联网通信场景的深刻理解。本文将…...

AI率90%用指令降和用工具降,效果对比实测

网上有很多"降AI率神奇指令"&#xff0c;什么"用这个提示词让ChatGPT改写&#xff0c;AI率直接降到5%"。 真的能做到吗&#xff1f;对于AI率已经90%的论文&#xff0c;这类指令能不能用&#xff1f;和专业工具相比差距多大&#xff1f; 我测试了&#xf…...

P1113 杂务【洛谷算法习题】

P1113 杂务 网页链接 P1113 杂务 题目描述 John 的农场在给奶牛挤奶前有很多杂务要完成&#xff0c;每一项杂务都需要一定的时间来完成它。比如&#xff1a;他们要将奶牛集合起来&#xff0c;将他们赶进牛棚&#xff0c;为奶牛清洗乳房以及一些其它工作。尽早将所有杂务完…...

SEO 关键字和内容创作有什么关系

SEO 关键字和内容创作有什么关系 在数字营销和网络推广领域&#xff0c;搜索引擎优化&#xff08;SEO&#xff09;是提升网站流量的核心策略之一。而在SEO中&#xff0c;关键词的作用至关重要。SEO关键字和内容创作有什么关系呢&#xff1f;这不仅是一个技术问题&#xff0c;更…...

use Yii;的本质的庖丁解牛

use Yii; 这行代码&#xff0c;常被误解为“引入了一个类”或者“为了少打几个字”。 但本质上&#xff0c;它是 Yii 框架&#xff08;尤其是 Yii2&#xff09;架构哲学的“图腾”。 它标志着 Yii 选择了一条与 Laravel、Symfony 截然不同的道路&#xff1a;将核心功能暴露为一…...