ドキュメントを開き、特定の列の最後の行をコピーし、その値を問題のある別のブックの次の空のセルに貼り付けるマクロがあります。これは以前は機能していましたが、この特定のドキュメントでは、最初の行には、次の空のセルを見つけて値を貼り付けたい列 (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