客户目录表,客户目录表格?

客户目录表,客户目录表格?

作者:卢子 来源:Excel不加班

如果你昨天没能阅读我们的文章,建议先回顾一下:通过一个简单的方法,你就能掌握VBA这门技能……

虽然通过录制宏可以利用For循环生成多个工作表,但命名规则却显得非常简单,都是以Sheet1、Sheet2等形式命名,这样不易于识别。

客户目录表,客户目录表格?

如果能够根据实际情况进行命名,或许会更加合理。

例如,创建的工作表包括1月、2月直到12月。

客户目录表,客户目录表格?

其实,实现这个功能非常简单。你只需要了解一个新的单词Sheets(i).Name,里面的i是一个变量,范围从1到12。通过i & "月"的方式,就能在数字后面添加一个“月”字,这样就能表示1月到12月。这样的用法和在单元格上的操作是相似的。

Sub 生成工作表()

For i=1 To 12

Sheets.Add After:=ActiveSheet

Sheets(i + 1).Name=i & "月"

Next

End Sub

你可以直接使用单元格的值通过引用。例如,可以用Range("b" & i)来访问从b1到b12的值。接下来,根据总表(也就是第一张工作表)生成分表时,需要在单元格前加上工作表的序号或名称,语法为Sheets(1).Range("b" & i)。

实际上,VBA与在单元格中输入公式的方式有些类似,都是通过=(等号)来连接后面的字符。比如,在单元格中可以使用=A1&"月",而在VBA中则可以写成=i & "月",这两者之间的区别并不大。

跨表引用的方式也很相似,只是将原先在共工作表之间使用的感叹号(!)换成了点(·)。在VBA中,你可以使用类似于Sheet1.Range("B" & i) 的方式,而在公式中则用Sheet1!B1的格式。有时候,我们可以尝试利用公式的思路来看看是否可以转化为VBA代码。

根据B列的内容生成子表的代码已经完成了。

Sub 生成工作表()

For i=1 To 12

Sheets.Add After:=ActiveSheet

Sheets(i + 1).Name=Sheets(1).Range("B" & (i + 1))

Next

End Sub

客户目录表,客户目录表格?

现在情况有所改变,已经创建了分表,接下来需要进行目录的生成。

如果你已经理解了之前的内容,那么这个问题就显而易见了。只需将代码中的等号两边的位置互换,单元格的引用放在等号前面,而工作表名称则放在等号后面。

Sub 提取目录()

For i=1 To 12

Sheets(1).Range("C" & (i + 1)).Value=Sheets(i + 1).Name

Next

End Sub

客户目录表,客户目录表格?

虽然上述代码能够正常运行,但为了符合标准,应该将变量i声明为整数,即使用语句Dim i As Integer。

客户目录表,客户目录表格?

使用VBA后,很多事情变得更加轻松,比如在Excel中填充1万行数据。传统方法需要消耗大量时间在单元格内逐行操作,而借助VBA,只需一个简单的循环,就能快速完成,效率大幅提升。

例如,现在需要在A列中填充从1到10000的数字。

Sub 生成数字()

Dim i As Integer

For i=1 To 10000

Sheets(1).Range("a" & i)=i

Next

End Sub

客户目录表,客户目录表格?

要实现工作智能化,实现一键完成任务,熟练掌握VBA是关键。起初学习可能会遇到一些困难,但只需坚持一段时间,便会发现变得非常简单。

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 sumchina520@foxmail.com 举报,一经查实,本站将立刻删除。
如若转载,请注明出处:https://www.summeng.com/67889.html