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(エクセル)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
-
4
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
5
EXCEL VBA 指定したファイルが存在しない場合メッセージボックスを表示させる
Access(アクセス)
-
6
【VBA】条件に一致しない行を削除したい 複数条件
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「段」と「行」の違いがよくわ...
-
エクセルで離れた列を選択して...
-
VLOOKUPの列番号の最大は?
-
LEFT関数とIF関数の組み合わせ...
-
リストからデータを紐付けしたい
-
エクセルで複数列の検索をマク...
-
(VBA)Excelの特定の範囲にデー...
-
Excel文字列一括変換
-
エクセルマクロの組み方
-
エクセルマクロでオートフィル...
-
【マクロ】【VBA】条件付き書式...
-
VBA 指定した列にある日時デー...
-
エクセル マクロ 範囲指定で...
-
エクセルマクロで表の途中の集...
-
エクセルで住所を県と市・郡と...
-
エクセルで飛び飛びのセルの計算
-
エクセルで最初の行や列を開け...
-
エクセルマクロPrivate Subを複...
-
CSVファイルの「0落ち」にVBA
-
横軸を日付・時間とするグラフ化
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで離れた列を選択して...
-
VLOOKUPの列番号の最大は?
-
「段」と「行」の違いがよくわ...
-
LEFT関数とIF関数の組み合わせ...
-
VBA 指定した列にある日時デー...
-
CSVファイルの「0落ち」にVBA
-
エクセルで住所を県と市・郡と...
-
Excelの行数、列数を増やしたい...
-
エクセルで複数列の検索をマク...
-
エクセルマクロの組み方
-
Alt+Shift+↑を一括で行うには、...
-
えABのある列って
-
エクセルのソートで、数字より...
-
エクセル マクロ 範囲指定で...
-
VBAで結合セルを転記する法を教...
-
VBAで別ブックの列を検索し、該...
-
エクセルマクロPrivate Subを複...
-
列方向、行方向の定義
-
リストからデータを紐付けしたい
-
Accessのレポートで繰り返し表...
おすすめ情報