我有一个类似问题的代码: copy the same row from multiple sheets into one sheet in excel
第二个答案(来自Gary的学生)以代码为特色,它适用于我的大多数数据。有问题的代码将从excel文件中的每个工作表中获取相同的行,并将所有这些行放入最后一个工作表中。
问题是,我的一些数据是由引用组成的。当我运行代码时,我不想复制“= B12”,但我想要粘贴特殊值。谁能编辑代码才能像这样工作?
答案 0 :(得分:3)
将.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