‘或者把代码清空替换成下面的,大致意思差不多,个人觉得D1单元格值完全没有必要
Sub Search()
On Error GoTo 100
Dim A As Range, B As Long, C As Long, D As Long
B = VBA.Val(.Range("D2").Value)
C = 1: D = 1
With Sheet2
For Each A In Range("A1:A" & [A1048576].End(xlUp).Row)
.Cells(C, D).Text = A.Text
If D = B Then C = C + 1: D = 1
D=D+1
Next
End With
Exit Sub
100: MsgBox "异常错误"
End Sub
Sub Clear()
Range("A:A").Clear
Sheet2.UsedRange.Clear
End Sub
你好,是这个代码嘛?麻烦您看一下
追答Dim a1 As Integer, a2 As Integer, a3 As Integer, a4 As Integer,a5 As Integer
a1=Sheet1.Cells(Rows.Count, 1).End(xlUp).Row '总数
a2=sheet1.range("D2").value '份数
a3=WorksheetFunction.RoundUp(a1 / a2, 0) '每份多少行
a4=a3
for k = 1 to a2
a5=a4-a3+1
sheet2.range(sheet2.cell(1,k),sheet2.cell(a3,k)).value =sheet1.range("A" & a5 &":A" & a4)
a4=a4+a3
next