No.2ベストアンサー
- 回答日時:
マクロでやりたい、かつマクロが組める方ですね。
以下の操作をするコードを追加すればよいと思います。手順2は質問文のコードです。
作業列を2列使用します。ここではY、Z列として説明しますが、データが存在する最右列よりも右側の未使用列としてください。
念のためですが、操作はデータ行のみが対象です。見出し行や余白行への操作は不要です。
■手順 これをコード化
1.F列にフィルタをかける前に、すべてのデータ行の未使用列(ここではY列とします)に連番を打ちます。(縦方向に1,2,3,・・・です)
2.F列のフィルタをかけます。※質問文のコードです。
3.F列のフィルタで抽出されたすべて行について、未使用列(ここではZ列とします)に『残す』と記入する(コピペで抽出行のみに貼り付けできます。他のやり方でも可)
4.F列のフィルタを解除する
5.すべてのデータ行を対象として、Z列で昇順に並べ替えを行う。
6.Z列が『残す』⇒『空白』の順に並んだので、Z列が空白になっている行を範囲指定して削除する。
7.すべてのデータ行を対象として、Y列で昇順に並べ替えを行う。(元の並び順に戻す作業です)
8.Y、Z列を消去(削除)する
■補足
※1 記入する文字列は『残す』である必要はありません。あくまでも目印です。
※2 Y列の連番は、データに日付時刻やIDなど並び順の基準ものがあれば不要で、手順7はそれを基準に並べ替えればよいです。
No.3
- 回答日時:
>元データからいくつかの不要列を指定削除したり・・・
それなら、増々、フィルターオプション(AdvancedFilter メソッド)をお勧めします。
AdvancedFilterって、条件抽出だけではなく、列の入れ替えもできます。もちろん、不要列の削除も可能です。
まずは、マニュアル操作で「詳細設定」をやってみて、それをマクロ記録してみて下さい。記録されたマクロを見れば、使い方は分かると思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Sheet3から2つの条件でオートフィルターで抽出した個数をSheet2へ入力するマクロで、一つ目の 4 2023/01/12 23:40
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) Sheet1をフィルターで「りんご」を抽出し、Sheet2へ地域を貼り付ける下記マクロを変更して S 2 2022/12/11 03:01
- Visual Basic(VBA) Sheet「状況」から、分類の年齢別カウント数をSheet「D表」へ転記する下記マクロを作っています 7 2022/12/14 17:57
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) excelVBAについて。 4 2022/11/21 16:15
- Visual Basic(VBA) Sheet2の日付をキーにオートフィルターで2023年1月のデータを抽出し、Sheet3へ書き出すた 2 2023/03/06 23:57
- Visual Basic(VBA) Changeイベントで複数セルへの貼り付けおよび値削除時に1個目のセルのみエラーになる 3 2022/12/21 09:07
- Visual Basic(VBA) VBA初心者です 検索した数字の行に色をつける 5 2023/02/13 14:22
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
オートフィルタで選択したデータのみ残し、非表示のデータを削除する方法
Excel(エクセル)
-
Excelオートフィルタで複数のセルの値を参照して抽出したい
Excel(エクセル)
-
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
-
4
EXCEL VBA 指定したファイルが存在しない場合メッセージボックスを表示させる
Access(アクセス)
-
5
【VBA】条件に一致しない行を削除したい
Visual Basic(VBA)
-
6
Excel VBA 空白セルがあったらメッセージボックスで知らせたい
Visual Basic(VBA)
-
7
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VLOOKUPの列番号の最大は?
-
「段」と「行」の違いがよくわ...
-
再質問です。マクロの修正箇所...
-
エクセルで離れた列を選択して...
-
VBAで別ブックの列を検索し、該...
-
エクセルの列をたたむ操作
-
最終行に合計(最終行が列によ...
-
LEFT関数とIF関数の組み合わせ...
-
データシートビューのタイトル...
-
エクセルでセル12個間隔で合...
-
条件付きの標準偏差をVBAを用い...
-
Excel文字列一括変換
-
エクセルマクロの組み方
-
Excel VBA マクロで複数列が共...
-
オートフィルターの複数抽出と...
-
横軸を日付・時間とするグラフ化
-
Alt+Shift+↑を一括で行うには、...
-
【マクロ】【VBA】条件付き書式...
-
エクセル 重複 隣の列 一番...
-
エクセルの列末のデータだけ表...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで離れた列を選択して...
-
「段」と「行」の違いがよくわ...
-
VLOOKUPの列番号の最大は?
-
LEFT関数とIF関数の組み合わせ...
-
VBA 指定した列にある日時デー...
-
Alt+Shift+↑を一括で行うには、...
-
エクセルで住所を県と市・郡と...
-
エクセルで複数列の検索をマク...
-
Excelの行数、列数を増やしたい...
-
VBAで結合セルを転記する法を教...
-
エクセルマクロPrivate Subを複...
-
エクセルマクロの組み方
-
CSVファイルの「0落ち」にVBA
-
列方向、行方向の定義
-
リストからデータを紐付けしたい
-
エクセルのソートで、数字より...
-
Excel文字列一括変換
-
エクセルで最初の行や列を開け...
-
エクセルでセル12個間隔で合...
-
エクセル マクロ 範囲指定で...
おすすめ情報