|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
- Sub 生成表单()
- Dim arr()
- Dim i, j, k As Integer
- i = Sheet1.Range("b65536").End(xlUp).Row
- arr() = Sheet1.Range("a3:aj" & i)
- j = UBound(arr, 1)
- For Each sht In Sheets
- Application.DisplayAlerts = False
- If sht.Name Like "表*" Then
- Else
- sht.Delete
- End If
- Application.DisplayAlerts = True
- Next
- For k = 1 To j
- l = 0
- For Each sht In Sheets
- If sht.Name = k Then
- l = 1
- End If
- Next
- If l = 0 Then
- Sheet2.Copy after:=Sheets(Sheets.Count)
- Sheets(Sheets.Count).Name = arr(k, 1)
- With Sheets(Sheets.Count)
- .Range("b" & 2) = arr(k, 1)
- .Range("b" & 3) = arr(k, 2)
- End With
- End If
- Next
- End Sub
复制代码
其中
With Sheets(Sheets.Count)
.Range("b" & 2) = arr(k, 1)
.Range("b" & 3) = arr(k, 2)
End With
with和end with之间的语句,需要按这个形式自己补全,你那个表挺不规范的,所以没有太好的办法批量处理,补全后可以实现一键生成所有表单并以序号命名的功能 |
|