提示: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