[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『行の削除』(さんま)
指定した列のセルが空白の場合行を削除するVBAです。
これはD列10行に適用になっていますが、この式をVBAを実行すると、列を選択でき、
かつ適用する行数も入力されている最終行までに適用したいです。
Sub 行の削除()
Cells(1, 4).Resize(10).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
宜しくお願い致します。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
>指定した列のセル とは選択したセル?
>適用する行数も入力されている最終行までに とは指定した列とやらの最終行?
(とらねこ) 2015/06/26(金) 08:29
指定した列のセル ↑Sub 行の削除()
Cells(1, 4).Resize(10).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
↑この列です。
>適用する行数も入力されている最終行までに これはA列の最終行です。
宜しくお願い致します。
(さんま) 2015/06/26(金) 08:55
>↑この列です ってD列ですよね? D列が全て空白だったら?それともD1セルが空白だったら?
>これはA列の最終行です。 了解しました (とらねこ) 2015/06/26(金) 08:58
>↑この列です ってD列ですよね? D列が全て空白だったら?それともD1セルが空白だったら?
↑すみません。。的外れの事を言ってしまいました。。
D1セルが空白だったら1行を削除。という意味でした。
宜しくお願い致します。
(さんま) 2015/06/26(金) 09:06
>D1セルが空白だったら1行を削除。 え?1行ですか? A列最終行は何処へ…
間違えました 取り消します 2015/6/26 9:13 (とらねこ) 2015/06/26(金) 09:12
私の説明で大丈夫だったでしょうか???
申し訳ございません。
(さんま) 2015/06/26(金) 09:17
A B C D 1 あ 2 え 3 4 い お 5 う 6
↓
A B C D 1 え 2 い お 3 4 5 6
例えば上の状態なら結果がこうなるのがいいのですか? D列が空白ならその行が削除される D列に入力があればその行は削除しない これをA列の最終行まで ということ? (とらねこ) 2015/06/26(金) 09:28
Sub 行の削除1() If Range("D1") = "" Then Range("A1").Resize(Range("A" & Rows.Count).End(xlUp).Row).SpecialCells(xlCellTypeBlanks).EntireRow.Delete Else MsgBox "D1は入力されています" End If End Sub
ちなみにこういうことではないのですよね?
(とらねこ) 2015/06/26(金) 09:31
例えば上の状態なら結果がこうなるのがいいのですか?
D列が空白ならその行が削除される D列に入力があればその行は削除しない これをA列の最終行まで ということ? ↑やりたいことはまさにこういうことです。
ただ、いつも空白を参照する列がD列と限らないのでVBAを実行したら参照する列を選びたいのです。
宜しくお願い致します。
(さんま) 2015/06/26(金) 09:42
>ただ、いつも空白を参照する列がD列と限らないのでVBAを実行したら参照する列を選びたいのです。 条件は最初に全て書いてください;; 参照する列はどうやって選ぶのですか? 選択したセルがある列?列番号を手入力しますか?
(とらねこ) 2015/06/26(金) 09:53
これはD列10行に適用になっていますが、この式をVBAを実行すると、列を選択でき、
かつ適用する行数も入力されている最終行までに適用したいです。
↑ごめんなさい。。。この説明ではわかりずらかったですね。。すみません。
参照する列はどうやって選ぶのですか?
選択したセルがある列?列番号を手入力しますか? ↑選択したセルがある列でお願い致します。
すみませんが宜しくお願い致します。
(さんま) 2015/06/26(金) 09:58
あぁ書いてあったのですね申し訳ない
Sub 行の削除2() Dim i As Long, Sel As Long Sel = Selection.Column For i = Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1 If Cells(i, Sel) = "" Then Cells(i, 1).EntireRow.Delete End If Next End Sub
こんな感じだろうか 削除するときに列の確認とかは入れてないのでお気をつけて (とらねこ) 2015/06/26(金) 10:21
こちらこそ、説明が下手ですみませんでした。
ただ今試したところ、思った通りに実行できました!!!!
すごく助かりました!!!
早々に解決有難うございました!!!!
(さんま) 2015/06/26(金) 10:25
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.