実現したいこと
ファイルが壊れたと思い、バックアップ用のファイルで試してうまく動いていましたがやはり出るようになりました。
1から18列までで検索するフォームですが実際のシートは20列まであるシートです。
解決策があればアドバイスお願いします。
発生している問題・分からないこと
これまでずっと動いていたのですが突然オーバーフローしましたと出るようになり、
以下のところが→で警告されます。
ary_d = sh1.Range(sh1.Cells(1, 1), sh1.Cells(R1, 18))
該当のソースコード
Application.ScreenUpdating = False Application.Cursor = xlWait Application.EnableEvents = False Application.DisplayAlerts = False Application.Calculation = xlCalculationManual '計算を手動に Dim ary_d 'セルデータ用配列 Dim dic_d As Object 'Dictionaryオブジェクト Dim t_row_d As Long '配列ary_d 処理対象行 Dim id As Long Dim ary_list Dim sh1 As Worksheet Dim R1 As Long Set sh1 = Worksheets("PO") R1 = sh1.Cells(sh1.Rows.Count, "A").End(xlUp).Row ary_d = sh1.Range(sh1.Cells(1, 1), sh1.Cells(R1, 18)) Set dic_d = CreateObject("Scripting.Dictionary") For t_row_d = 1 To UBound(ary_d, 1) If dic_d.Exists(ary_d(t_row_d, 18)) = False Then dic_d.Add ary_d(t_row_d, 18), t_row_d End If Next t_row_d t_row_d = 0 ReDim ary_list(0 To dic_d.Count - 1, 0 To 18) 'For id = 0 To dic_d.Count - 1 't_row_d = dic_d.items()(id) Dim ary_item ary_item = dic_d.Items For id = 0 To dic_d.Count - 1 t_row_d = ary_item(id) ary_list(id, 0) = ary_d(t_row_d, 1) ary_list(id, 1) = ary_d(t_row_d, 2) ary_list(id, 2) = ary_d(t_row_d, 3) ary_list(id, 3) = ary_d(t_row_d, 4) ary_list(id, 4) = ary_d(t_row_d, 6) ary_list(id, 5) = ary_d(t_row_d, 7) ary_list(id, 6) = ary_d(t_row_d, 8) ary_list(id, 7) = ary_d(t_row_d, 9) ary_list(id, 8) = ary_d(t_row_d, 11) ary_list(id, 9) = ary_d(t_row_d, 12) ary_list(id, 10) = ary_d(t_row_d, 18) Next id With ListBox1 .ColumnCount = 11 .ColumnWidths = "60;30;40;70;40;120;120;40;70;70;30" .List = ary_list End With Set dic_d = Nothing Application.StatusBar = False Application.Calculation = xlCalculationAutomatic Application.DisplayAlerts = True Application.EnableEvents = True Application.Cursor = xlDefault Application.ScreenUpdating = True
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
ファイルが壊れたと思い、バックアップ用のファイルで試してうまく動いていましたがやはり出るようになりました。
1から18列までで検索するフォームですが実際のシートは20列まであるシートです。
解決策があればアドバイスお願いします。
補足
特になし
ちなみに9万行20列あるデータですが、同様のファイルで12万行20列あるものではオーバーフローしません。

回答2件
あなたの回答
tips
プレビュー