teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

基本的なコードしか載せていなかったため、もう少し実用的なコードを追記

2021/02/20 07:53

投稿

Usirow
Usirow

スコア364

answer CHANGED
@@ -22,4 +22,32 @@
22
22
  Next k
23
23
 
24
24
  End Sub
25
+ ```
26
+ 【追記】
27
+ 上記のコードは単純ですが、件数が多い場合はとんでもなく遅くなります。
28
+ そうした遅さに耐えられなくなった場合は、例えば以下のようにDelete処理を一回にまとめるとはやいです。
29
+
30
+ ```VBA
31
+ Sub Tumeru()
32
+
33
+ Dim Target As Range
34
+ For k = 5 To Range("B" & Rows.Count).End(xlUp).Row
35
+ If (Range("B" & k) = "") Then
36
+
37
+ If Target Is Nothing Then
38
+
39
+ Set Target = Range("B:L").Rows(k)
40
+
41
+ Else
42
+
43
+ Set Target = Union(Target, Range("B:L").Rows(k))
44
+
45
+ End If
46
+
47
+ End If
48
+ Next k
49
+
50
+ Target.Delete shift:=xlUp
51
+
52
+ End Sub
25
53
  ```