如果第一个单元格为空,则复制并粘贴到另一个工作表的第一个空行,粘贴上一行

我从一张纸上复制一个范围( B14:I14 ),并将这些值粘贴到第一个空行中的另一张纸上。 如果范围在第一个单元格中有数据( B14 ),这工作正常。

当某些单元格中有数据但不是B14时,下一次粘贴到上次执行macros时的同一行上。

范围将从包含数据的所有单元格或仅有两个不同。 我需要它来检查目标行是空的,不只是第一个单元格。

这是我的macros:

 Sub Save7() Dim NextRow As Range With Sheets("Sheet3") Set NextRow = .Cells(.Rows.Count, 2).End(xlUp).Offset(1, 0) End With Sheet1.Range("B14:I14").Copy NextRow.PasteSpecial Paste:=xlValues, Transpose:=False Application.CutCopyMode = False Set NextRow = Nothing End Sub 

我build议使用这个:

 Sub Save7() Dim NextRow As Range Set NextRow = Range("B" & Sheets("Sheet3").UsedRange.Rows.Count + 1) Sheet1.Range("B14:I14").Copy Sheet3.Activate NextRow.PasteSpecial Paste:=xlValues, Transpose:=False Application.CutCopyMode = False Set NextRow = Nothing End Sub 

这应该很好。 UsedRange检查所有的列,所以如果B是空的,它不会覆盖它。 唯一的问题是,如果第一行是空白的,但是你可以在那里添加标题数据,或者什么东西,它不会再被它所困扰。 当第一行为空时,UsedRange.Rows.Count仍然输出1.享受!