我有一个宏,它可以打开一个文档,复制某一列中的最后一行并将该值粘贴到另一个我遇到问题的工作簿中的下一个空单元格中。这以前有效,但在这个特定的文档中,第一行包含合并和居中的单元格,包括列 (B),我想找到下一个空单元格并将值粘贴到其中。当我运行代码时,我收到“此操作要求合并单元格大小相同”的消息。在下面的代码中,我尝试将 rowToPaste 更改为 2(以绕过合并单元格的第一行),这会导致 excel 崩溃。如何让宏在检查第一个空单元格时绕过第一行或找到另一种方法来避免相同大小的合并单元格问题?提前致谢。
Private Sub CommandButton1_Click()
Dim NextRow As Long, LastRow As Long
Dim vMax As Variant
Dim rowToPaste As Integer
Dim lastRowToPaste As Integer
Dim lastCheckedRow As Integer
Set wsMaster = ThisWorkbook.Sheets("FY 13 Budgets -- East Coast")
NextRow = wsMaster.Range("A" & Rows.Count).End(xlUp).Row + 1
Set wbDATA = Workbooks.Open("C:\Documents and Settings\Michael Palkovitz\My Documents\Test\PDF to excel.xlsm")
With wbDATA.Sheets("8A")
LastRow = .Range("B" & .Rows.Count).End(xlUp).Row
If LastRow > 1 Then
.Range("B" & LastRow).Copy
lastRowToPaste = LastRow + 1000
rowToPaste = lastCheckedRow
Do
rowToPaste = rowToPaste + 1
If IsEmpty(wsMaster.Range("B" & rowToPaste)) Then
wsMaster.Range("B" & rowToPaste).PasteSpecial xlPasteValues
wsMaster.Range("B" & rowToPaste).PasteSpecial xlPasteFormats
lastCheckedRow = rowToPaste
Exit Do
End If
Loop While (rowToPaste < lastRowToPaste)
End If
End With
wbDATA.Close False
End Sub