※ ChatGPTを利用し、要約された質問です(原文:excel2003 文字削除マクロの実行時間を短くしたい)
Excel2003 文字削除マクロの実行時間を短くしたい
このQ&Aのポイント
Excel2003の文字削除マクロの実行時間を短縮する方法を教えてください。
現在、約3300個のデータがあり、マクロの実行に約30秒かかっています。
より効率的なマクロを作成するためのアドバイスをお願いします。
excel2003 文字削除マクロの実行時間を短くしたい
winxp he sp2, excel2003
1.やりたい事
マクロ実行前のデータを C列の該当する文字を削除し 実行後の様にしたいのです。
データが約3300個あり、下記マクロでは、約30秒掛かります。
これを、もっと短くするマクロを教えてください。
Sub aaa()
Dim idx As Long
For idx = Range("C65536").End(xlUp).Row To 1 Step -1
If Cells(idx, "C").Value = "日々公表銘柄" Then Cells(idx, "C").EntireRow.Delete
If Cells(idx, "C").Value = "貸株注意喚起" Then Cells(idx, "C").EntireRow.Delete
If Cells(idx, "C").Value = "整理ポスト" Then Cells(idx, "C").EntireRow.Delete
If Cells(idx, "C").Value = "監理ポスト" Then Cells(idx, "C").EntireRow.Delete
If Cells(idx, "C").Value = "建玉上限:3000万円" Then Cells(idx, "C").EntireRow.Delete
If Cells(idx, "C").Value = "建玉上限:5000万円" Then Cells(idx, "C").EntireRow.Delete
If Cells(idx, "C").Value = "建玉上限:5億円" Then Cells(idx, "C").EntireRow.Delete
If Cells(idx, "C").Value = "建玉上限:10億円" Then Cells(idx, "C").EntireRow.Delete
Next idx
End Sub
データ3300個。列がずれて見にくいのですが。
A列:株コード 4桁固定
B列:株銘柄名
C列:摘要
マクロ実行前
A列 B列 C列
------------------------------------------------
1301 極洋 建玉上限:5000万円
1305 ダイワ投信-トピックス 建玉上限:5億円
1306 TOPIX連動型投信 建玉上限:10億円
1309 上海株式指数投信 建玉上限:5000万円
1313 KODEX200 新規買停止
1313 KODEX200 新規売停止
1313 KODEX200 一般信用新規買停止
1313 KODEX200 用掛目規制:0%
1314 S&P日本新興株100 建玉上限:3000万円
1319 日経300投信 新規買停止
1319 日経300投信 新規売停止
マクロ実行後
A列 B列 C列
------------------------------------------------
1301 極洋
1305 ダイワ投信-トピックス
1306 TOPIX連動型投信
1309 上海株式指数投信
1313 KODEX200 新規買停止
1313 KODEX200 新規売停止
1313 KODEX200 一般信用新規買停止
1313 KODEX200 用掛目規制:0%
1314 S&P日本新興株100
1319 日経300投信 新規買停止
1319 日経300投信 新規売停止
よろしくお願いします。
お礼
ご指摘の通りやって見ました。その結果約8秒になりました。 ありがとう御座いました。