我有一张工作表,我将7000行数据粘贴到A1列。
当数据为A1000
时,我希望接下来的1000行转到B列,填充单元格B1:B1000
。我希望接下来的1000转到C列,填充单元格C1:C1000
等等。
理想情况下,我希望通过公式实现这一点。我不想使用任何手动命令(即Transpose等)
我查看了类似的问题,并没有找到一个专门回答我问题的问题 - 提前谢谢!
答案 0 :(得分:2)
使用此公式:
=IF(ROW()>1000,"",IFERROR(INDEX(Sheet1!$A:$A,ROW()+(COLUMN(A1)-1)*1000),""))
Sheet1!$ A:$ A是您在sheet1中的数据 在另一个工作表中,在A1中编写上述公式,并在列和行中拖动
答案 1 :(得分:2)
在工作表的代码表中。
Option Explicit
Const iMAX As Long = 5
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
On Error GoTo safe_exit
Application.EnableEvents = False
Dim r As Long
For r = iMAX + 1 To Cells(Rows.Count, "A").End(xlUp).Row Step iMAX
With Cells(r, "A").Resize(iMAX, 1)
Debug.Print .Address
.TextToColumns Destination:=.Parent.Cells(1, 1).Offset(0, r / iMAX), _
DataType:=xlFixedWidth, FieldInfo:=Array(0, 1)
.Clear
End With
Next r
End If
safe_exit:
Application.EnableEvents = True
End Sub