在您的问题中没有太多的信息可供参考,但似乎可以使用宏来转换数据。我编写了一个快速宏,它以您提供的格式获取数据,并按您指定的格式输出数据。
我将使用下面的宏在Excel中创建一个新的工作表,然后根据需要对其进行操作或粘贴到Word中。没有更多的信息,就没什么好说的了。
**Input**
Column A Column B
Result A1 Result B1
Result A2 Result B2
**Output**
Column A
Result A1
Column B
Result B1
Column A
Result A2
Column B
Result B2
以下是宏:
' Transforms the current sheet
' This method takes columns and rows and outputs a
' single This is not a transpose method, but similar.
Public Sub TransformSheet()
Dim SourceSheet As Worksheet
Dim ResultSheet As Worksheet
Dim iSourceColumn As Long, iSourceRow As Long
Dim iResultColumn As Long, iResultRow As Long
Dim iHeaderRow As Long
Dim UseCopyPaste As Boolean
' Change source and result sheets as necessary
Set SourceSheet = ActiveSheet
Set ResultSheet = ActiveWorkbook.Sheets("Sheet2")
' Options
UseCopyPaste = True
iHeaderRow = 1
iResultColumn = 1
iResultRow = 1
' Main Loop
For iSourceRow = 2 To SourceSheet.UsedRange.Rows.Count
For iSourceColumn = 1 To SourceSheet.UsedRange.Columns.Count
If UseCopyPaste Then
' Header Column
SourceSheet.Cells(iHeaderRow, iSourceColumn).Copy
ResultSheet.Cells(iResultRow, iResultColumn).PasteSpecial xlPasteAll
iResultRow = iResultRow + 1
' Result Column
SourceSheet.Cells(iSourceRow, iSourceColumn).Copy
ResultSheet.Cells(iResultRow, iResultColumn).PasteSpecial xlPasteAll
iResultRow = iResultRow + 1
Else
' Header Column
ResultSheet.Cells(iResultRow, iResultColumn) = _
SourceSheet.Cells(iHeaderRow, iSourceColumn).Value
iResultRow = iResultRow + 1
' Result Column
ResultSheet.Cells(iResultRow, iResultColumn) = _
SourceSheet.Cells(iSourceRow, iSourceColumn).Value
iResultRow = iResultRow + 1
End If
Next iSourceColumn
Next iSourceRow
End Sub