0
我已經爲此找了一些僞代碼,但找不到它。任何幫助,將不勝感激。基本上,我想借此樣本數據,如:按時間順序將多個列複製到另一個工作表中到一列中
1 A 2 B 3 C
4 D 5 E 6 F
並將其複製到新的工作表爲:
1 A
2 B
3 C
4 D
5 E
6 F
我已經爲此找了一些僞代碼,但找不到它。任何幫助,將不勝感激。基本上,我想借此樣本數據,如:按時間順序將多個列複製到另一個工作表中到一列中
1 A 2 B 3 C
4 D 5 E 6 F
並將其複製到新的工作表爲:
1 A
2 B
3 C
4 D
5 E
6 F
根據您的圖片,我們正在複製工作表中的一切。這將適用於這種情況。如果是子集,請嘗試修改rngSource以滿足您的需求:
Sub FlattenAndCopy()
Dim wsSource As Excel.Worksheet
Dim rngSource As Excel.Range
Dim varSource As Variant
Dim wsTarget As Excel.Worksheet
Dim SourceCount As Long
Dim varTarget() As Variant
Dim i As Long, j As Long
Set wsSource = ActiveSheet
Set rngSource = wsSource.UsedRange
varSource = rngSource.Value
SourceCount = rngSource.Cells.Count
ReDim varTarget(1 To SourceCount)
For i = LBound(varSource, 1) To UBound(varSource, 1)
For j = LBound(varSource, 2) To UBound(varSource, 2)
varTarget((i - 1) * (UBound(varSource, 2)) + j) = varSource(i, j)
Next j
Next i
Set wsTarget = wsSource.Parent.Worksheets.Add
wsTarget.Cells(1).Resize(SourceCount, 1) = Application.WorksheetFunction.Transpose(varTarget)
End Sub