>質問も初めてでしたので、不愉快な思いをさせて申し訳ありません
別に不愉快な思いをしているわけではありません。
処理の内容、シートレイアウトなどを提示した方が
何回も遣り取りする必要がない分、質問者、回答者とってベターですよ
と言いたかっただけです。
>("B28:F35")の範囲がセルの結合がされており
これが一番重要なことです。
で、あれば先の回答の「貼り付けが被る」という疑問は解消します。
どうでしょう、これでレイアウトを提示することの重要さがわかったと思います。
で、回答サンプルコードは以下のようになります。
'---------------------------------------------------
Sub チェック2_2()
Dim Oldfile_name As String
Dim Newfile_name As String
Dim Checkfile_name As String
Dim Ws As Worksheet
Dim Rng As Range
Dim Kei_No As String
Dim i As Long
Dim R As Long
Application.ScreenUpdating = False
Workbooks("雛形.xls").Activate '■本番では実際のブック名に変更
Oldfile_name = ActiveWorkbook.Name
Kei_No = Mid(Oldfile_name, 5, 10)
Workbooks.Add
ActiveWorkbook.SaveAs "C:\data2\temp\2-2チェック結果_" & Kei_No & ".xls"
Checkfile_name = ActiveWorkbook.Name
Sheets(1).Select
'==雛形ブックからチェックブックのB列へ==
For Each Ws In Workbooks(Oldfile_name).Worksheets
If Ws.Name Like "2-2*" Then
i = i + 1
R = (i - 1) * 2 + 1
Cells(R, 2).Value = Ws.Range("B28").Value
Cells(R + 1, 2).Value = Ws.Range("I28").Value
End If
Next Ws
'--全角、半角スペースと改行、タブコードなどの削除--
For Each Rng In Range(Cells(1, 2), Cells(i * 2, 2))
Rng.Value = Replace(Rng.Value, " ", "")
Rng.Value = Replace(Rng.Value, " ", "")
Rng.Value = WorksheetFunction.Clean(Rng.Value)
Next Rng
'==業務用ソフトから吐き出されたブックから==
'==チェックブックのC列へ ==
i = 0
For Each Ws In Workbooks(Kei_No & ".xls").Worksheets
If Ws.Name Like "2-2*" Then
i = i + 1
R = (i - 1) * 2 + 1
Cells(R, 3).Value = Ws.Range("B28").Value
Cells(R + 1, 3).Value = Ws.Range("I28").Value
End If
Next Ws
'--全角、半角スペースと改行、タブコードなどの削除--
For Each Rng In Range(Cells(1, 3), Cells(i * 2, 3))
Rng.Value = Replace(Rng.Value, " ", "")
Rng.Value = Replace(Rng.Value, " ", "")
Rng.Value = WorksheetFunction.Clean(Rng.Value)
Next Rng
'----チェックブックのB列とC列を比較して結果をD列へ------
With Range(Cells(1, 4), Cells(i * 2, 4))
.FormulaR1C1 = "=EXACT(R[0]C[-2],R[0]C[-1])"
End With
Application.ScreenUpdating = True
End Sub
'-------------------------------------------------
●シート名、2-2を2-2(1)へ変換するルーチンは不必要です。
また、EXACT関数は、大文字と小文字を区別しますのでそのつもりで。
●ブックは、以下の4つです。
1.マクロブック(上記コードはこのブックへコピペ)
2.雛形ブック
3.業務用ソフトから吐き出されたブック
4.チェック結果ブック
一応軽くテストして動作を確認してあります。
以上ここまで。
お礼
お世話になっております。 作成していただいたコードを確認させていただいたところ、処理速度も今までと比べ物にならないほど早く全て完璧に実行され、思い描いたようなマクロでした。大変ありがとうございました。 まだまだわからないところだらけなので、また質問させていただくかもしれませんが、その時はよろしくお願いいたします。勉強になりました。本当にありがとうございました。