将多个工作表上同一行的值复制到一个工作表中

我从这个类似的问题有一个代码: 复制从多个工作表中的同一行到Excel中的一个工作表

第二个答案(来自加里的学生)以代码为特色,对于我的大部分数据来说都是完美的。 所讨论的代码将从Excel文件中的每个工作表中获取相同的行,并将所有这些行放入最后一个工作表中。

问题是,我的一些数据是由引用。 当我运行代码时,我不想复制“= B12”,但我想要粘贴特殊值。 任何人都可以编辑代码来像这样工作吗?

.value添加到您感兴趣的行应解决您的参考问题。

 Sub row_copy() For i = 1 To Worksheets.Count - 1 Sheets(6).Rows(i) = Sheets(i).Rows(7).Value 'added .value and reversed order of that code Next i End Sub 

编辑

第二个答案

 Sub copyrow() Dim Nrow As Long, Nsheet As Long Dim i As Long Nrow = 7 Nsheet = 6 For i = 1 To Nsheet - 1 Sheets(Nsheet).Rows(i) = Sheets(i).Rows(7).Value 'Sheets(i).Cells(Nrow, 1).EntireRow.Copy Sheets(Nsheet).Cells(i, 1) Next i End Sub 

一种方法可以确保获得除正在写入的工作表之外的每张工作表。

 Sub row_copy() Dim i As Long i = 1 With Application.Sheets("Your Sheet Name") For Each Item In Worksheets If Item.Name <> .Name Then .Rows(i) = Sheets(i).Rows(7).Value i = i + 1 End If Next End With End Sub