VBAで以下のことを実現したいと思っております。
例えばですがデータの構成が7行で1名分の個人情報となっているデータがあります。
例:
A B
1 太郎 住所
2 電話
3 メールアドレス
4 誕生日
5 年齢
6 性別
7 既婚
8 花子 住所
以下続く
取り扱う件数が数十件から数千件と幅があります。
ここからあらかじめユーザーが指定している項目のみを人数分だけ削除したいと思っています。
B列を検索し設定された項目名にヒットした行を逐一消していく方法が一番安全かと思っているのですが、複数の行を選択し一括で削除する方法はありますでしょうか?
複数の行選択で調べたところ
Range("3:3,12:12,,22:22").Select
という書き方は分かったのですが、削除する範囲と項目が事前に分からないため
つまずいてしまいました。
他にもっといい方法がありましたら知恵を貸してください。
どうかよろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
要は選択した複数行を「一括」削除したいようですね。
下記は、削除条件に該当するセルをUnionメソッドにより全部rngに溜ておき、For Nextループ終了後に一括で行削除する例です。Dim rng As Range
For i=1 to N
If ○○ Then '削除条件
If rng Is Nothing Then
Set rng=Cells(i,"B")
Else
Set rng=Union(rng,Cells(i-1,"B"))
End If
End If
Next i
rng.EntireRow.Delete
High_Scoreさん
ありがとうございました。
無事解決いたしました。助かりました。
恥ずかしながらRangeとUnionの機能を全く知りませんでした;
処理のスピードも格段にあがり他でも活用していきたいと思います。
No.3
- 回答日時:
No2です。
修正があります。7行目
誤 Set rng=Union(rng,Cells(i-1,"B"))
正 Set rng=Union(rng,Cells(i,"B"))
No.1
- 回答日時:
やりたいことが見えてないかもしれませんが
例 6行目の性別を全て削除したい
For i = Range("B" & Rows.Count).End(xlUp).Row To 7 Step -7
Rows(i - 1).Delete Shift:=xlUp
Next
こういった事でしょうか?
B列の最終行から、7行ずつ下げていく
その下の行を削除する。
hallo-2007さん
早速の回答ありがとうございます。
はやり複数の行を選択し一括削除という処理はできなそうですね;
しかしhallo-2007さんから教えてもらった方法はとても参考になりました。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルVBA 複数行にまたがっている選択を判定するには 2 2023/05/21 21:54
- Visual Basic(VBA) 複数ファイルのデータの統合について 12 2022/05/14 12:03
- その他(パソコン・スマホ・電化製品) Googleカレンダーで不要データを一括削除したい 1 2023/08/02 12:42
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/02 10:20
- au(KDDI) Android Gmail で検索して消す方法 1 2022/11/10 16:10
- Visual Basic(VBA) 3つの条件を指定してVBAで行を削除したい 条件1:分類1が重複 条件2:分類2が重複 条件3:個数 6 2022/06/24 11:07
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Excel(エクセル) Countifよりも早く重複数をカウントする方法ありますか? 18 2022/07/04 13:39
- Excel(エクセル) エクセルについて教えてください。 2 2023/06/14 11:11
- Visual Basic(VBA) VBAマクロ 決まっていない行を選択して別シートへ貼付け 4 2023/02/16 16:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
教えて!gooにはどのカテゴリが...
-
「医者も看護師も自分に嫌がら...
-
ハメ撮りが流出したら
-
ウェブページへのアクセス不可 ...
-
もう関わりたくない人がいたらL...
-
指定した文字があった場合、そ...
-
バッチファイルを使用したsql@p...
-
インスタグラムのギャラリーの...
-
VBA:Openステートメントで開い...
-
Accessの削除クエリについて
-
職場の人と仕事中に喧嘩して LI...
-
Facebookで間違ってスートリー...
-
【HTML】ツールチップを強制的...
-
アクセスにおいて間違って削除...
-
エクセルで住所の混在する「丁...
-
真剣な質問ほど消されるのはど...
-
エクセルで下の空白行を削除したい
-
Excel 数式を入れているため、...
-
iphoneのsafariのSSL証明書を削除
-
メーリングリストから特定の人...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
もはや喧嘩売ってるのか私(笑...
-
回答がついてる普通の質問まで...
-
指定した文字があった場合、そ...
-
VBA:Openステートメントで開い...
-
AI削除には数多のキーワード設...
-
インスタグラムのギャラリーの...
-
バッチファイルを使用したsql@p...
-
Yahooフリマってどれくらい時間...
-
Facebookメッセンジャーの不具合
-
削除の対象について
-
エクセルで住所の混在する「丁...
-
ビジネスパートナーから送られ...
-
女友達にLINEしたら、既読スル...
-
もう関わりたくない人がいたらL...
-
喧嘩をしてLINE削除され、 また...
-
猫にグラグラの熱湯かける動画...
-
すべてやりきった、大満足を意...
-
インスタアカウント、前の携帯...
-
Facebookに自分が四つもアップ...
-
Facebookで間違ってスートリー...
おすすめ情報