我尝试复制值时出现问题...
假设A33的值为1655,单元格的公式为IFERROR('L-Logic'!G14;“”),复制时显示0,如果我点击复制的单元格,则显示公式。这是为什么?我应该粘贴特殊值吗?有什么建议吗?
我是在正确的道路上吗?如果我不想查看单元格值,我正在考虑使用它..
如果ws.Cells(i,1)<> “blabla”然后ws.Range(“A1:A50”& lastrow)。复制目的地:=工作
以下是我的示例代码。此致
For Each Ws In Sheets(Array("List 1", "list 2", "List3"))
lastrow = Ws.Range("A" & Rows.Count).End(xlUp).row
For i = 1 To lastRow
If ws.cells(i, 1)<> "testtest" Then
Ws.Range("C1:C50" & lastrow).Copy Destination:=Worksheets("Master list").Range("D" & lastRowMaster)
Ws.Range("A1:A50" & lastrow).Copy Destination:=Worksheets("Master list").Range("A" & lastRowMaster)
Ws.Range("L1:L50" & lastrow).Copy Destination:=Worksheets("Master list").Range("B" & lastRowMaster)
Ws.Range("L1:L50" & lastrow).Copy Destination:=Worksheets("Master list").Range("C" & lastRowMaster)
lastRowMaster = lastRowMaster + Range("C1:C" & lastrow).Rows.Count
Next i
Next
答案 0 :(得分:0)
我喜欢你对lastRowMaster
所做的一切。
对于直接价值转移,您可以撤销它们。
lrm = 1
With Worksheets("MasterList")
For Each ws In Sheets(Array("List1", "List2", "List3"))
lr = ws.Range("A" & Rows.Count).End(xlUp).Row
.Range("D" & lrm).Resize(lr, 1) = ws.Range("C1:C" & lr).Value2
.Range("A" & lrm).Resize(lr, 1) = ws.Range("A1:A" & lr).Value2
.Range("B" & lrm).Resize(lr, 1) = ws.Range("L1:L" & lr).Value2
.Range("C" & lrm).Resize(lr, 1) = ws.Range("L1:L" & lr).Value2
lrm = lrm + Range("A1:A" & lr).Rows.Count
Next
'...
End With
需要调整目标的大小以适应价值转移。仅仅像复制和粘贴一样引用顶部单元格是不够的。小心从第7行开始的那些。你必须做一些小数学才能使Range.Resize property正确。