我有一個工作表,我將7000行數據粘貼到列A1中。當他的數據A1000,我想要下一1000行到列B,填充單元格B1:B1000。我希望下一個1000轉到C列,填充單元格C1:C1000等。理想情況下,我希望通過公式來實現。我不想使用任何手動命令(即轉置等)在Excel中批量轉換列爲其他列中的列
我看過類似的問題,並沒有找到一個具體回答我的問題 - 預先感謝!
我有一個工作表,我將7000行數據粘貼到列A1中。當他的數據A1000,我想要下一1000行到列B,填充單元格B1:B1000。我希望下一個1000轉到C列,填充單元格C1:C1000等。理想情況下,我希望通過公式來實現。我不想使用任何手動命令(即轉置等)在Excel中批量轉換列爲其他列中的列
我看過類似的問題,並沒有找到一個具體回答我的問題 - 預先感謝!
在工作表的代碼表中。
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
這是完美的。謝謝。 – TheJDScott
的IFERROR似乎有點多餘;我無法看到INDEX返回#N/A的任何方式,但它*可能*返回* 0 *而不是空白單元格。 – Jeeped
它在1000處切斷,但我希望數據表中的單元格A1001開始在我的其他表格中填充單元格B1:B1000。一旦B1000被填充,我希望它開始填充C1:C1000。那有意義嗎? – TheJDScott
只需將第一行中的公式水平拖動即可 – yass