前提・実現したいこと
Accessで作成したデータを、計算式が入力されている既存のExcelに貼り付け
再計算後、全セルを値貼り付けしたい(計算式をなくしてファイルを軽くするため)
行数は1500前後、列数が850列あります。
計算式が入っている列を750列位に減らすとエラーなく実行できます。
列数に制限などありますでしょうか?
.Cells.PasteSpecial xlPasteValues 中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
RangeクラスのPasteSpecialメソッドが失敗しました。
該当のソースコード
With xlBook.Worksheets("Sheet1")
.Cells.Copy
.Cells.PasteSpecial xlPasteValues ← ここでエラー
End with
試したこと
セルを範囲指定してクリップボードを使わず貼り付けしたり、
配列を使用した貼り付けというパターンを試しましたが
どちらも下記のエラーメッセージが表示されました。
また、列数が多すぎるかと思い、100列ずつに区切りloopさせてみましたが、後半(750列以降)になると同じエラーが発生しました。
列の右側から(逆から)処理をしてもやはりエラーになりましたので、Excelの計算式が問題ということではなさそうです。
エラーメッセージ:アプリケーション定義またはオブジェクト定義のエラーです。
Maxrow = .Cells(.Rows.Count, 8).End(xlUp).Row
Maxcol = .Cells(8, .Columns.Count).End(xlToLeft).Column
'セルの範囲指定で貼り付けバージョン
.Range(.Cells(1, 1), .Cells(Maxrow, Maxcol)).Value = .Range(.Cells(1, 1), .Cells(Maxrow, Maxcol)).Value ←エラー
'配列を使用して貼り付けバージョン
Dim MyArray As Variant
MyArray = .Range(.Cells(1, 1), .Cells(Maxrow, Maxcol))
.Range(.Cells(1, 1), .Cells(Maxrow, Maxcol)) = MyArray ←エラー
何かお気づきのことがありましたらご教授よろしくお願いいたします。
補足情報(FW/ツールのバージョンなど)
windows7 64bit CPU intel i7 メモリ16GB
Office2010
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/28 02:07