|
楼主 |
发表于 2020-3-5 16:37
|
显示全部楼层
Sub 编号3()
Dim arr, rng As Range, i&, str As String, j&, m, n, x, k As Integer
Dim jy As String
n = ActiveSheet.[a5].End(xlDown).Row
If n = 5 Then
jy = Cells(5, "b")
Worksheets(ActiveSheet.Index + i).Name = "1"
Worksheets(ActiveSheet.Index + i).[A2] = "名称:" & "、" & jy
ElseIf n <> 5 Then
For x = 5 To n
arr = ActiveSheet.Range(ActiveSheet.Cells(5, "b"), ActiveSheet.Cells(n, "b"))
Next x
m = ActiveSheet.Name
For i = 1 To n - 4
With Worksheets(ActiveSheet.Index + i)
If m = "汇总" Then
.Name = Format(i, "0")
.[A2] = "名称:" & Format(i, "0") & "、" & arr(i, 1)
ElseIf m = "汇总表" Then
.Name = Format(i, "0")
.[A2] = "名称:" & Format(i, "0") & "、" & arr(i, 1)
ElseIf m <> "汇总" Then
.[A2] = "名称:" & m & "." & Format(i, "0") & "、" & arr(i, 1)
.Name = m & "." & Format(i, "0")
End If
End With
Next i
End If
k = 4
For j = ActiveSheet.Index + 1 To ActiveSheet.Index + n - 4
k = k + 1
str = "含税总计"
Set rng = Worksheets(j).Cells.Find(str, lookat:=xlWhole)
Worksheets(ActiveSheet.Index).Range("G" & k).Formula = "=" & Worksheets(j).Name & "!" & Range(rng.Address).Offset(0, 5).Address(0, 0)
Worksheets(ActiveSheet.Index).Range("L" & k).Formula = "=" & Worksheets(j).Name & "!" & Range(rng.Address).Offset(0, 10).Address(0, 0)
Range("n5") = "=ROUND((G5-L5),0)"
Range(ActiveSheet.Cells(5, "n"), ActiveSheet.Cells(n, "n")).FillDown
Next j
End Sub
老师,下级表只有一个时候,我这就运行不了呢?哪出问题了呢?谢谢 |
|