Poker online Indonesia コミュニティの成長により、プレイヤー同士が情報を共有し、おすすめのプラットフォームを見つけやすくなっています。SNSグループ、フォーラム、オンラインコミュニティは、ユーザーの選択や好みに大きな影響を与える重要な存在です。こうした議論の中では、インタラクティブな機能や競争性の高いゲームプレイで知られるプラットフォームを紹介する際に、login Nirwanapoker が頻繁に取り上げられています。

Toto Macau コミュニティでは、さまざまな形式や結果について活発な情報交換が行われています。こうした議論の中で、live draw macau は詳細なデータや最新情報を確認するための重要な話題として取り上げられています。これらの情報は、利用者が最新の動向を把握しながら、整理されたデータをより効率的に活用するのに役立っています。

成功するゲーミングプラットフォームは、信頼性、優れたユーザー体験、そして豊富なゲームラインナップによって支えられています。idnslot は、直感的で使いやすいインターフェースを提供し、プレイヤーがスムーズにコンテンツへアクセスできる環境を実現しています。また、slot online プラットフォームはさまざまなデバイス向けに最適化されており、スマートフォン、タブレット、デスクトップパソコンのいずれを利用する場合でも、いつでも安定した快適なゲーム体験を楽しむことができます。

VBA・Excel 時短!コピペで使える複数行を高速に削除するコード

この記事は約4分で読めます。

vba_複数行の高速削除

 

表の中に不要な行がたくさんある・・・一つ一つ削除するのは面倒だ!

マサヤ
マサヤ

確かに、手作業で消すと時間かかりますよね。

今からコード書くのも面倒だし、短時間で終わらせる方法ないかな~

マサヤ
マサヤ

これ、どうぞ。コピペして使ってください。
メッチャ速く削除できますよ。

 

 

 

結論:高速削除が可能なVBAコードを紹介します!
どうぞコピペしてお使ってください。

 

どうもマサヤです!

大量データの中にある不要な行を削除するシーン・・・・・・ありますよね。
単純に行を削除するだけなら、Range(cell).Deleteで出来ます。
でも、大量データの行を高速に削除するとなると話が変わってきます。

Range(cell).Deleteで大量の行を削除すると、1行ずつ削除するので時間がかかります。
そんなときは「union」を使うと高速に処理ができます。

 

スポンサーリンク

さっそくコードを紹介!どうぞ、コピペしてお使いください!

 

前置き入らないよ~知識あるから、サクッとコードだけ知りたい・・・

そんなアナタと私(忘れた時用)のために、先にコードを紹介します!
適時変更を加えて、お好きに使ってください!

 

Sub Rows_Delete_Fast()
'===============================================================
'複数行の削除 ※高速
'===============================================================
Dim ListLastRow As Long
Dim DeleteRows As Range
Dim ws As Worksheet

'対象シートは適時変更
Set ws = ActiveSheet
'A列を見て最終行を取得 リストがA列以外なら要変更
ListLastRow = ws.Cells(Rows.Count, 1).End(xlUp).Row

'1行目は見出しとみなし、2行目から探査
For i = 2 To ListLastRow
    'Rangeに削除対象行を格納 ※今回はB列が空白なら削除。
    If IsEmpty(ws.Cells(i, 2)) Then
        '初回のみ
        If DeleteRows Is Nothing Then
            Set DeleteRows = ws.Rows(i).EntireRow
        '2回目以降は追加
        Else
            Set DeleteRows = Union(DeleteRows, ws.Rows(i).EntireRow)
        End If
    End If
Next

'削除対象行が1つでもあれば行削除を実施
If Not DeleteRows Is Nothing Then DeleteRows.Delete

End Sub

 

Unionメソッドはこれだけ速いです!

 

普通の削除とUnionを使った削除、どれだけ処理速度が違うのか?
速度の違いを↓の動画でご確認ください!

 

vba_速度比較

 

下記の条件で比較しています。

コード ファイルサイズ 削除対象行 行数 列数 処理速度
Union使用コード 2.5MB 450行 5000行 200列 0秒
Union未使用コード 2.5MB 450行 5000行 200列 5秒

結果はUnion使用コードのほうが、5秒速い!

ファイルサイズ2.5MBほどでこの速度差です。
ファイルサイズが大きくなれば、より顕著に速度の違いが現れます。
実際、会社のデータを使う際はもっと大きなデータを扱う場合があるでしょう。

 

Unionが高速な理由

 

なぜ、速度差が現れるのか?

Unionを使うコードで内部的に起きていることを表現すると・・・
削除する行をまとめて選択した上で削除している。

Unionを使わないコードを表現すると・・・
削除する行を1行選択して削除を実行。また、削除する行を選択して削除を実行の繰り返し。

実際、手作業で上の動作を比較してみるとよく解ると思います。
明らかに1行ずつ削除するより、先に行をまとめて選択するほうが工数(クリック数)が少なくて済みます。

 

まとめ:Unionの時短で早く仕事が終わる

いかがでしたでしょうか?

Unionでまとめて削除することで作業時間が大幅に削減されます。
アナタが行削除の速度に悩んでいるのなら、是非使ってみてくださいね。

どんどん時間を浮かして、自分で使える時間を増やしていきましょう!

コメント

  1. 都内SE より:

    ありがとうございます。大変助かりました!