ワークブック内のすべてのセルを数式から値に変換する必要があります。 これは私が下記のコードを使用したかったのですが、小規模なファイルでも機能しましたが、260のワークシートを持つファイルに使用すると、xlPasteValuesに「エラー1004」が表示されます。VBA:260のワークシートを含むファイルの式に値を変換する
Sub Formula_Zapper()
Worksheets.Select
Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues
ActiveSheet.Select
Application.CutCopyMode = False
End Sub
誰も私が大きなファイルのためにうまくいかない理由と私はこれを回避することができますか?
ワークシートの数を減らして複数のラウンドを実行することで回避しようとしましたが、このラウンドで選択したいワークシートを手動で追加する手動配列を作成したくないという問題があります。
Forループを使用してもう一方のワークシートを選択しようとしましたが、しようとするとPCがクラッシュしました。 VBAにワークシート1〜50を同時に選択させる方法はありますか?
ご協力いただきありがとうございます。私は本当にここで迷っています。ここで
を使用していない別の方法ですか?彼らはすべて同じ範囲を満たしていますか?そうであれば、より小さな範囲を選択するループを作ることができます。また、特定の範囲を使用する場合は、このようなことを行うことによってselectメソッドとcopyメソッドを使用することを避けることができます。 'range'が同じではないが、単純に定義するのが簡単な場合は 'sheets(1).range( "A1:D30")。 VBAコードでは、各シートの使用範囲でシートをループし、前述のコードを使用して値に変換することができます。 – Jarom
ワークシートは常に同じように見えますが、おそらく2000x2000セルの範囲のデータを持っています。ファイルはちょうど巨大なので、ファイルをループするときに私のPCがクラッシュするだけです。私が.valueメソッドを試してみたところ、何らかの理由でExcelが "0"でいくつかの行を埋めました。どうしてか分かりません。 .valueメソッドを使用して – Yarza
がクラッシュしましたか?それとも0で線を埋める唯一の問題でしたか? – Jarom