トップへ(mam-mam.net/)

マクロ(.xlsm)から、新規ファイル(.xls)を作成し、シートをコピーするとエラー

検索:

「マクロ(.xlsm)から、新規ファイル(.xls)を作成し、シートをコピーするとエラー」

マクロ(.xlsm)から、新規ファイル(.xls)を作成し、シートをコピーするとエラーになります。

回答

.xlsxや.xlsmはシート内で最大1048576行ですが、
.xlsは最大65536行しかないため、コピーできないです。

以下のようにエクセル自体の新規ファイルの作成を.xlsxで作成してからシートをコピーして、
必要であれば元に戻しましょう。

    Dim xlsxflg As Boolean
    xlsxflg = True
    If Application.DefaultSaveFormat = xlExcel8 Then '56
      Application.DefaultSaveFormat = xlOpenXMLWorkbook
      xlsxflg = False
    End If

'ブックを作成して、シートコピー後元に戻す

    If Not xlsxflg Then
      Application.DefaultSaveFormat = xlExcel8  '56
    End If

ソース