Excel VBA工作表 7.6 按照单元格内容批量重命名工作表

前景提要

在上一节的分享中,我们学习了如何实现批量增加工作表名称的前缀/后缀的,这样操作的目的就是能够方便的区分出每个工作表的归属,便于我们后续的操作和分析,但是也有小伙伴们反馈,他们实际的运用场景还要在负责一点,完全没有任何规律的命名,比方说让工作表的名称依次为指定的某一列或者某一行的单元格内容呢?

场景模拟

这样一来好像场景要高级了很多,小编当时也是比较懵,不过后来仔细的理解了下 场景需求,原来就是按照单元格的顺序来命名,其实也并不难,

我们在进行重命名的过程中,将工作表的名字更换成为我们对应的单元格的内容就可以了,大致可以理解为如下图这样的模式;

单元格的内容我们可以使用数组的方式来承载,好了,思路有了,上代码

代码区

Sub tesy()Dim rng As Range, arr, sth As WorksheetSet rng = Application.InputBox("请选择单元格区域", "单元格区域的选择", , , , , , 8)arr = rngK = 1For Each sth In Worksheets sth.Name = arr(1, K) K = K + 1Next sthEnd Sub

代码比较的简单,无非就是再循环的过程中,通过数组的方式给每个单元格重命名,来看看效果

代码分析

其实感觉应该不用代码分析了,有点多余,我们先通过inputbox得到了我们需要重名名的单元格区域

Set rng = Application.InputBox("请选择单元格区域", "单元格区域的选择", , , , , , 8)

然后将这个单元格区域的内容复制给数组arr

然后开始在所有的工作表中进行遍历循环,没找到一个工作表就将他的名字替换成为对应顺序的那个单元格内容的内容

For Each sth In Worksheets sth.Name = arr(1, K) K = K + 1Next sth

最终就达到了我们的看到的效果了。

(0)

相关推荐