[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『条件に当てはまったセルの行の削除』(よこ)
はじめまして.
Excelのシートの12行目に「True」として表記されたセルの列全体を削除するVBAを作成したいのですが,教えていただけませんでしょうか.
ネットで探したところ,行を削除する場合は色々と情報があったのですが,
列を削除する場合の事例が無く,投稿させていただきました.
お手数をおかけしてしまい申し訳ありませんが,
ご協力いただけますと幸いです.
何卒よろしくお願い申し上げます.
< 使用 Excel:Office365、使用 OS:Windows10 >
ヒョコ |ૂ•ᴗ•⸝⸝) ホントにないですか?
もう1回下記で検索してみてください。
キーワード 列 削除 VBA (あみな) 2021/10/06(水) 18:37
キモは、12行の列を判定していくのに際し、右から左に順に実行することです。
こうすれば、削除の結果が、それ以降の判定に影響を及ぼさなくて済みます。
12行目の列をひとつずつ判定するのは、いつものパターンでEndプロパティで最終列を求めます。
そのうえで、
For 最終列番号 to 1 step -1
Next
と繰り返します。
列削除は、Columns(k).Deleteです。
上記を参考にトライしてみてください。
# 行削除とまったく同じ考え方でできるはずです。
(γ) 2021/10/06(水) 18:46
コメントを参考にもう一度トライしてみたいと思います!
ご助言いただきありがとうございました!
(よこ) 2021/10/06(水) 19:39
なお,現在はサンプルとして10列目までデータがある場合を想定しています.
あとEndプロパティのやり方がまだ習得できていないので,
非常に稚拙なやり方となっておりますが,
ご了承いただけれますと幸いです.
Sub Yoko()
Dim i As Long For i = 1 To 10 i = 1
If Worksheets("Sheet1").Cells(12, i) = True Then Columns(i).Delete
End If
Next i
End Sub
(よこ) 2021/10/08(金) 16:32
(砂糖) 2021/10/08(金) 16:39
■1
>Endプロパティのやり方がまだ習得できていない
結局ネット検索してみなかったのでしょうか?
特に引っかかるようなことは無さそうにおもいますが・・・・
https://www.moug.net/tech/exvba/0050088.html
■2
既に、指摘のあるようにループ中にカウンタを変えちゃっているところもですが、γさんから指摘されていたように、削除や挿入がある場合【後】から【前】に処理しないとずれちゃいますよ。
Sub 研究用() Dim 列 As Long
Stop 'ブレークポイントの代わり
With Worksheets("Sheet1") For 列 = .Cells(12, .Columns.Count).End(extoleft).Column To 1 Step -1 If .Cells(12, 列).Value = "True" Then Cells(12, 列).EntireColumn.Delete End If Next 列 End With End Sub
(もこな2) 2021/10/08(金) 16:51
お手数をおかけして申し訳ありませんでした.
(よこ) 2021/10/08(金) 17:00
誤 End(extoleft) 正 End(xlToLeft)
>自分にはハードルが高そうに感じてしまい,
少し時間が取れたら研究してみるとよいと思います。
(分かってしまえば実に単純なことだったと思うようになるとおもいます)
(もこな2) 2021/10/08(金) 17:11
というようなことをVBA語で書けばよいと思います。
慣れるまでは、日本語で作業の流れを整理するとこから始めると
いいと思います。(複雑なことをやる場合は必須かも)
sub test
dim Rng as range dim i as long
set rng = activesheet.usedrange.rows(12).cells
for i = rng.count to 1 step -1 if rng(i).value = true then rng(i).entirecolumn.delete end if next end sub
直接ここに書いたので、誤字などがあるかも知れません。
ご容赦を。
(まっつわん) 2021/10/08(金) 17:32
ご丁寧に返信およびご教授いただき、誠にありがとうございます。
お二人から教えていただいたコードをひとつひとつ読み解き、
自分で少しずつ理解を深めていきたいと思います。
途方に暮れていたので、このような場と優しい方々に出会えて感謝しています。
本当にありがとうございました。
(よこ) 2021/10/08(金) 21:28
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.