|
楼主 |
发表于 2015-12-16 12:47
|
显示全部楼层
爱疯 发表于 2015-12-16 12:37
Sub test3()
Dim A, B(1 To 1, 1 To 21), i, j, r, bol As Boolean
A = Sheets(2).UsedRange '填写表
For i = 8 To 15
'1)先预览,如果该行有空值,就不添加
bol = True
If A(i, 2) = "" Or A(i, 4) = "" Or A(i, 6) = "" Or _
A(i, 7) = "" Or A(i, 8) = "" Or A(i, 9) = "" Or _
A(i, 10) = "" Or A(8, 11) = "" Then bol = False: Exit For
'2)数据齐全,才添加
If bol Then
B(1, 1) = VBA.Split(A(6, 2), ".")(1)
B(1, 2) = VBA.Split(A(6, 2), ".")(2)
B(1, 3) = A(5, 5)
B(1, 4) = A(2, 5)
B(1, 5) = A(6, 10)
B(1, 6) = A(23, 7)
B(1, 7) = ""
B(1, 8) = A(i, 2)
B(1, 9) = A(i, 4) & "/" & A(i, 6)
B(1, 10) = A(i, 8)
B(1, 11) = A(i, 7)
B(1, 12) = ""
B(1, 13) = ""
B(1, 14) = ""
B(1, 15) = ""
B(1, 16) = ""
B(1, 17) = ""
B(1, 18) = A(17, 2)
B(1, 19) = A(17, 6)
B(1, 20) = A(17, 9)
B(1, 21) = ""
With Sheets(1)
r = .Cells(Rows.Count, "B").End(3).Row '数据表最后一行
.Rows(r + 1 & ":" & Rows.Count).ClearContents
.Cells(r + 1, 1).Resize(1, UBound(B, 2)) = B
End With
End If
Next i
End Sub
B(1, 4) = A(2, 5) 这条应该是B(1,4)=A(5,2)
我自己改了
可以了,谢谢老师!
|
|