| 
    
     |  | ▼ichinose さん: こんにちは。
 
 最後まで面倒を見てくださってありがとうございました。おかげさまで思ったとおりの作業が高速でできるようになりました。(テストファイル上ですが)
 下記ご指摘くださった点、まったくの見落としでした。
 
 また何かありましたら、このサイトに来ますので、そのときはよろしくお願いします。
 本当にありがとうございました。
 
 >> .Range("b2:b" & UBound(newshtnm(), 1) + 1).Value = _
 >>        "=indirect(address(" & UBound(oldshtnm(), 1) + 2 & ",3,,,a2))"
 >>
 >>>ここで .Range("b2:b" & UBound(newshtnm(), 1)).Value = _
 >>>        "=indirect(address(" & UBound(oldshtnm(), 1) & ",3,,,a2))"
 >>>とする。
 >'問題は、↑ここ。集計ブックの各シートの文字数の合計値の位置は変わっていないので
 >
 >'    .Range("b2:b" & UBound(newshtnm(), 1)).Value = _
 >       "=indirect(address(" & UBound(oldshtnm(), 1)+2 & ",3,,,a2))"
 >'                              ↑の「+2」は消さない
 
 
 |  |