范围矩阵A1:Q38来自1400个文件&在新工作簿行A1中列为单列,后跟行A2等

时间:2012-10-24 17:26:55

标签: excel-vba vba excel

1400个单独的excell文件需要从范围A1:Q38逐行获取每个文件的所有数据。需要按照每个原始行的顺序在单个列列表中的数据。需要读取行A1:Q1并写入A1:A17然后读取A2:Q2并写入A18:A34继续,直到读取每个文件。需要新工作簿中的数据。如果可能的话,想忽略将空单元格写入新列表。以下代码将在一个工作表中完成工作。需要它以编程方式对1400个文件起作用。

Sub readvalues()

row2 = 1
For Row = 1 To 38
For col = 1 To 17
READCELL = Worksheets("sheet1").Cells(Row, col).Value
Worksheets("sheet2").Cells(row2, 1) = READCELL
row2 = row2 + 1
Next col
Next Row

End Sub

1 个答案:

答案 0 :(得分:0)

您需要使用的内容称为TransposePasteSpecial允许您使用转置的单元格进行粘贴。 (行成为列,列成为行,如矩阵)

Dim targetWorkbook As Workbook
Dim rowCount As Integer
rowCount = 1

Set targetWorkbook = Workbooks.Add
Application.DisplayAlerts = False
targetWorkbook.SaveAs Filename:="C:/MyData/TransposedRow" & rowCount

ActiveSheet.UsedRange.Cells.Copy
targetWorkbook.Sheets(1).Cells.PasteSpecial Transpose:=True
Application.CutCopyMode = False

rowCount = rowCount + 1