• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:フィルタオプションから連番をつけたい)

フィルタオプションから連番をつけたい

このQ&Aのポイント
  • フィルタオプションの設定からデータを抽出
  • 表示されたデータの連番を振る
  • マクロを作成し、一括処理する方法を教えてください

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 数式なら、A2 ~ =SUBTOTAL(3,C2)+MAX($A$1:A1) 下にフィルでコピーします。(マクロでワークシートに貼り付けてもよいけれども、数式を消さない限りは必要ないと思います。消してしまうようなら、最初からマクロに組み入れたほうがよいです。) ------------------------------------------- マクロなら、 With ActiveSheet   For Each c In .Range("A2:A7")     If c.EntireRow.Hidden = False Then      i = i + 1      c.Value = i     End If   Next c End With

noname#199333
質問者

お礼

ありがとうございました。 数式とマクロ、どちらも試してバッチリでした。大感動です! この答が解読できるよう、勉強させていただきます。 ちなみに例として作った質問の検索条件とVBE、今更ですが間違いに気がつきました。なのによく質問を理解していただきました。 重ねてありがとうごさいました。 正しくは、 =検索条件=   A   B   C 1 業種 業種 業種 2 電気 ガス サービス =VBE= Range("C1:C7").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _ Sheets("検索条件").Range("A1:A2"), Unique:=False (業種ごとに.Range("B1:B2")・・・)

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

SUBTOTALの範囲がB2:B2というのも気になりますが、関数を次のようにして使っているでしょうか? WorksheetFunction.Subtotal(3,Range("B2:B2"))

noname#199333
質問者

補足

早々のご回答ありがとうございます。 正確には A2セルから下へ =SUBTOTAL(3,$B$2:B2)、=SUBTOTAL(3,$B$2:B3)、=SUBTOTAL(3,$B$2:B4)と続き、1行目へオートフィルタをかけ、C1セルの業種を絞り込めば、次のように表示されます。 =リスト=   A    B     C 1 No. 事業所名  業種 2 1  ○1○社   電気 6 2  ○5○社   電気 7 3  ○6○社   電気

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • オートフィルタ抽出データに連番をつけるマクロ

    オートフィルタで抽出したデータに連番をふりたいと思っています。このサイトで調べた結果、オートフィルタをかけてのオートフィルでの連番入力はできないと知りました。 現在しようとしているのは   A  B  C 1 クラス NO 氏名   2 1    ○△ 3 2    □× 4 1    ★♪ というデータがあり、項目にオートフィルタをかけている状態です。クラスを抽出した場合にそのクラスでの通し番号(連番)を付けたいのです。SUBTOTAL関数だと、連番が表示されるのはオートフィルタで抽出している間だけです。SUBTOTALでつけられた連番を、オートフィルタを解除しても残しておくにはどうしたらよいでしょうか。やはりコピー&ペーストしかないのでしょうか?似たような質問が多々ありますが、コピー&ペースト以外の方法をご存知の方、どうか教えて下さい。

  • フィルタオプション設定をVBAで処理したものに、さらに連番(ナンバリング)もされるようにVBAを作成し直したい。

    よろしくおねがいします。 フィルタオプション設定を下記のようにVBAにて既に作成したものがあります。(ボタンをクリックするだけで、データが抽出されるようにしてあります。) Sub Macro1() Dim myRow1 As Long, myRow2 As Long myRow1 = Sheets("職員名簿").Range("B65536").End(xlUp).Row myRow2 = Sheets("東京都").Range("B65536").End(xlUp).Row If myRow2 >= 5 Then Sheets("東京都").Range("B5:T" & myRow2).ClearContents End If Sheets("職員名簿").Range("A2:S" & myRow1).AdvancedFilter Action:=xlFilterCopy, _ CriteriaRange:=Sheets("データ").Range("A2:F32"), CopyToRange:=Range("B5:T5"), _ Unique:=False End Sub この実行時に、A列に抽出されたデータの件数を自動的に1からの連番にて入る(ナンバリングされる)ように、VBAを追加作成し直したいのですが、 どうしたら良いか分からず、教えていただきたいと思います。 既に作成してある、VBAを実行した後に、A列のセル一つ一つに、 =SUBTOTAL(3,B$6:B6) などのように、関数を入れて抽出した行分、コピーしていけばいいのではないか。とおっしゃるかもしれませんが、 作成は私の仕事なのですが、実際これを使っていくのは、私ではなく上司なので(エクセル超初心者で使いこなせない)、 データ抽出と同時に、A列に番号が連番されていくように、 ボタン一つで、データ抽出とナンバリングができるように、 VBAを追加作成し直したいのです。 どういう命令文を追加すればよろしいのでしょうか。 よろしくおねがいいたします。

  • フィルタオプションをマクロで

    マクロ初心者です。 フィルタオプションをマクロに登録しました。 検索範囲はマクロを登録したときの表の範囲(A5:Q50)になっていますが データは毎日増えるため(A5:Q10000)に変更して抽出自体はうまくいきましたが、 リストで最終行に金額の合計を出しているのですがそれが表示されなくなります。 抽出時の最終データでフィルタオプションを実行するマクロをするにはどうしたらよいでしょうか? 質問がわかりにくくてすみません。 フィルタオプションの部分のマクロは下記です。 よろしくお願いいたします。 Range("A5:Q10000").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("A1:B3"), Unique:=False

  • オートフィルタのデータに連番をつける時。

    オートフィルタのデータに連番をつける時。 オートフィルタで抽出したデータに連番をつける時は、 subtotal関数を使う方法しかないのでしょうか? これが一番簡単な方法なのでしょうか? エクセル2007には ‘アウトライン’という機能がありますが、 これを使えば連番をだすことはできるのでしょうか? 挑戦してみたのですが、私にはできませんでした。 エクセル2003・2007においてsuubtotal関数以外で 方法があれば教えてください。 どうぞ宜しくお願いします。

  • エクセル フィルタオプションについて

    教えて下さい。 sheet1~sheet3まであります。 【sheet1】と【sheet2】をフィルタオプション で検索条件範囲が【記号】部分で、 【sheet3】の結果になりますが、 VBAで、どのようにすれば良いのか わかりません。 Sheets("Sheet1").Range("A1:C3").AdvancedFilter Action:=xlFilterCopy, _ CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A3:C150"), Unique:=False Sheets("Sheet2").Range("A1:C6").AdvancedFilter Action:=xlFilterCopy, _ CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A3:C150"), Unique:=False End Sub このプログラムで実行するとSheet2の抽出しか できません。 何が足りないのでしょうか? 宜しくお願いします。 【sheet1】 A B C 品名 金額 記号 1 いちご 100 06-02 2 りんご 200 06-01 3 みかん 300 06-02 【sheet2】 A B C 品名 金額 記号 1 いちご 500 06-01 2 りんご 1000 06-01 3 みかん 1500 06-02 【sheet3】 A B C 1 記号 2 06-02 3 品名 金額 記号 4 いちご 100 06-02 5 みかん 300 06-02 6 みかん 1500 06-02

  • フィルタオプション AND条件で抽出が出来ない

    Excel Version:2000 0~Zで始まる部品コードの管理を行っています。 とあるリストがあり、そのなかで0,A,B,Cから始まる部品コードを対象外とする必要があります。 4つの条件が必要なので、下記のような条件を作成し、 フィルタオプションにて抽出を行おうとしました。 品目コード <>0* <>A* <>B* <>C* しかし、実際に抽出してみると、フィルタリングが行われません(行が青くならない)。 検索条件範囲を2行目まで(<>0*)にすると、フィルタリングは行われます。 何か間違った設定を行っているのでしょうか?

  • エクセルVBAでのフィルタオプションについて

    マクロの記録を利用して、自分なりに本を参考に以下のように手直しをしてみました。 やりたいこととしては、 名前の定義で“仕入単価他”とつけてあるデータから sheet1のB列に入力した内容(抽出条件)を sheet2に抽出するということです。 sheet1の抽出条件はB列に入力します。 フィルタオプションの“OR”のようになり、 抽出する条件は複数行です。(列はB列のみ) 以下のようなコードで実行をすると、 B列の一番最初に書いたものの内容を抽出してくるだけで、複数のデータを引っ張ってきてくれません。 いろいろと直してはみたのですが、どうしても最初の条件のみを見て抽出してしまいます。 どのように手直ししてよいのかわからなくなってしまいましたので、教えてください。 Dim 検索 As Range Dim 範囲 As Range Set 検索 = Worksheets(1).Range("B1").CurrentRegion Set 範囲 = Worksheets(1).Range("B65536").End(xlUp).Offset(5) Worksheets(1).Activate Range("仕入単価他").AdvancedFilter Action:= _ xlFilterCopy, CriteriaRange:=検索, _ CopyToRange:=Range("B65536").End(xlUp).Offset(5), Unique:=False Range("B65536").End(xlUp).CurrentRegion.Copy _ Destination:=Worksheets(2).Range("A1") End Sub

  • Excel 連番の関数(SUBTOTAL)のコピー方法

    今使用している下記のような表があるのですが、同じシート内に上下に合計表があります。 SUBTOTALを使ってオートフィルタでB列が a またはb を選んだ時でも A列が連番になるよう、C列の合計が絞り込み後もに計算させるように簡単ではありますが、こんな表があるのですが、 今後上下の表の一部データを入れ替えする作業もあり、普通にコピーをしていれかえさせたいのですが、うまくいかない為、 $絶対参照を変えたりと、いろいろ試しているのですが、うまくいきません。 知恵をお貸し頂きたく、質問させて頂きました。 可能であれば教えて頂きたいのですが、 どうかよろしくお願いします。 -------------------------------------------------------      A   B    C    A1=SUBTOTAL(3,$B$1:B1)  1   1   a    1 2   2   b    1     A2~A4=コピー 3   3   a    1 4   4   b    1 5   合計 aまたはb       C5=SUBTOTAL(3,C2:C4) 6-------------------------------------------------- 7   1    a    1    A7=SUBTOTAL(3,$B$7:B7) 8   2    b    1    A8~A10=コピー 9   3    a    1 10  4    b    1      11  合計  aまたはb      C11=SUBTOTAL(3,$B$7:B7) -------------------------------------------

  • エクセル:該当項目のみ連番を付けたい

    2つのリストで一致するものだけを抽出して、連番を付けたいのですが、関数を使った良い方法はありますでしょうか。例えば、 Aのリスト 1 ● 2 ■ 3 ▲ Bのリスト 1 ● 2 ☆ 3 ▲ が、あるとして、AとB両方に共通する「1 ●」「3 ▲」を抜き出し、「1 ●」「2 ▲」と、連番を付けて行く方法についてです。 よろしければ、どなたか教えて頂けないでしょうか? よろしくお願いします。

  • エクセルのフィルターオプションで

    エクセル2000です。 A10:D10000位の大きな表があります。1行目(10行)はタイトル行です。 そのうちB列の商品名からA、B,Cの3つの商品、D列の日付から2006/12/01~2006/12/31のものをフィルターオプションで抽出したいのです。 抽出条件を 1行目はタイトル行 B2にA B3にB B4にC とした場合、D2~D4にはどう記述すればいいのでしょうか?

このQ&Aのポイント
  • 自宅の前が道路であるため、換気をするかどうか迷っています。
  • 排気ガスの問題やコロナ対策、冬場の暖房での空気の汚れなどを考慮して、窓を開けて換気することが必要か検討しています。
  • 締め切った部屋にこもるよりも、少しの排気ガスの影響があっても窓を開けて換気した方が良いと思います。
回答を見る

専門家に質問してみよう