excel宏设置之一键生成多张sheet并写入内容与格式

本文介绍了如何通过Excel宏实现一键生成多张工作表,并详细设置了包括窗口冻结、数据有效性、背景、字体颜色、单元格尺寸及字段名等功能。示例代码展示了具体的宏实现,适合需要批量处理Excel数据的用户参考。
摘要由CSDN通过智能技术生成

提示:excel先开启宏设置!

(一)效果:

第一张表,有宏按钮

 

结果图:

说明:生成的sheet包括窗口冻结,数据有效性,背景以及字体颜色,单元格宽高,字段名设置等

代码如下:(第一次写,望指点

单位名称不能为数字

Sub 按钮2_Click()
 
' 批量新建多个sheet表,新建一个cresheet的宏

Dim a As Integer               '定义a变量

Dim strArr As Variant         '定义字符数组

Dim alpArr As Variant         '定义字母数组

Dim length '用length表示数组的长度

a = 5                               '初始值,从第5行开始,可以更改

Set st = Worksheets("纳税企业申报信息表")       ' 表初始值,定位源数据表,可以更改


'while开始根据本表D5列生成sheet
Do While st.Cells(a, "D") <> ""   ' 设定循环条件,从纳税企业申报信息表中的D5开始,如果数据不为空,执行该循环

On Error Resume Next            ' 若表名不存在,忽略代码引起的运行错误



'if每一次循环生成一个新sheet并设置好里面的内容

If Worksheets(st.Cells(a, "D").Value) Is Nothing Then   '判断是否存在对应的工作表

Worksheets.Add after:=Worksheets(Worksheets.Count)      '永远将新表加入到最后一个工作表之后

ActiveSheet.Name = st.Cells(a, "D").Value             '新的工作表为当前活动的工作,将工作表的名称更改为纳税企业申报信息表中对应单元格的名字。


'单元格设置内容并设置水平垂直居中
Range("A1").Value = "企业名称:"
Range("A1").HorizontalAlignment = Excel.xlLeft
Range("A1").VerticalAlignment = Excel.xlCenter


Range("B1").Value = st.Cells(a, "D").Value
Range("B1").HorizontalAlignment = Excel.xlLeft
Range("B1").VerticalAlignment = Excel.xlCenter


Range("A2").Value = "纳税人识别号:"
Range("A2").HorizontalAlignment = Excel.xlLeft
Range("A2").VerticalAlignment = Excel.xlCenter


Range("B2").Value = st.Cells(a, "E").Value
Range("B2").HorizontalAlignment = Excel.xlLe
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值