下記コードの内容で、Rangeの範囲が大きくなると、実行時エラーが出ます。
●エラーが出ない場合
VBA
1Sub Tenki() 2 3 Dim s01 As Worksheet 4 Dim s20 As Worksheet 5 6 Set s01 = Worksheets("O") 7 Set s20 = Worksheets("全体") 8 9 Range(s20.Cells(3, 1), s20.Cells(50000, 20)) = ClearContents 10 Range(s20.Cells(3, 1), s20.Cells(72, 20)).Value = Range(s01.Cells(3, 1), s01.Cells(72, 20)).Value 11 12End Sub
●エラーが出る場合
VBA
1Sub Tenki() 2 3 Dim s01 As Worksheet 4 Dim s20 As Worksheet 5 6 Set s01 = Worksheets("O") 7 Set s20 = Worksheets("全体") 8 9 Range(s20.Cells(3, 1), s20.Cells(50000, 20)) = ClearContents 10 Range(s20.Cells(3, 1), s20.Cells(73, 20)).Value = Range(s01.Cells(3, 1), s01.Cells(73, 20)).Value 11 12End Sub
s01シートのセルの中身は、他のExcelデータを参照する為の関数が入っています。
その参照した値のみ、s20シートへ転記したいのですが、
「実行時エラー:6 オーバーフローしました。」
上記のようなエラーメッセージが出てしまいます。
エラーポイントは、
Range(s20.Cells(3, 1), s20.Cells(73, 20)).Value = Range(s01.Cells(3, 1), s01.Cells(73, 20)).Value
になります。
色々検証した結果、セルの行数が73より大きい数字のなると、上記エラーになります。
原因がお分かりになる方いましたら、ご教授頂ければと思います。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/25 09:02