オートフィルタで抽出したデータに連番をふりたいと思っています。このサイトで調べた結果、オートフィルタをかけてのオートフィルでの連番入力はできないと知りました。
現在しようとしているのは
A B C
1 クラス NO 氏名
2 1 ○△
3 2 □×
4 1 ★♪
というデータがあり、項目にオートフィルタをかけている状態です。クラスを抽出した場合にそのクラスでの通し番号(連番)を付けたいのです。SUBTOTAL関数だと、連番が表示されるのはオートフィルタで抽出している間だけです。SUBTOTALでつけられた連番を、オートフィルタを解除しても残しておくにはどうしたらよいでしょうか。やはりコピー&ペーストしかないのでしょうか?似たような質問が多々ありますが、コピー&ペースト以外の方法をご存知の方、どうか教えて下さい。
No.1
- 回答日時:
表示されている行のB列に連番を振るマクロサンプルです。
質問文からではどのような使い方をするのかが分かりませんし、前に振った通し番号はどうすればよいのかもわかりません。ですから期待通りの動きはしないかもしれませんが、とりあえずヒントにはなるかもしれません
以下のマクロをALT+F11でVBE画面を開き、左上のVBA Projectでシート名を右クリックし「挿入」→「標準モジュール」で表示される画面に貼り付けて下さい。マクロの実行はワークシート画面に戻ってALT+F8でマクロ一覧を開き、マクロ名を選択して「実行」ボタンです。
Sub Macro4()
Dim idx, cnt As Long
For idx = 2 To Range("A65536").End(xlUp).Row
If Rows(idx).Hidden Then
Cells(idx, "B").ClearContents
Else
cnt = cnt + 1
Cells(idx, "B").Value = cnt
End If
Next idx
End Sub
この回答への補足
使い方としては、氏名にクラス番号を割り振った後、そのクラスごとにオートフィルタで抽出し、マクロで通し番号をつけるといった使い方です。なので、つけた通し番号はそのまま残したいと思います。したがってオートフィルタで抽出を解除すれば同じ通し番号がクラス数分あることになります。
補足日時:2007/11/20 16:36No.2
- 回答日時:
.SpecialCells(xlCellTypeVisible)
フィルタ後に 表示されているセルだけ選択する時は
可視セル を選択することをすすめます
全ての行を処理すると時間がかかりますが
可視セルなら検索結果のセルだけ処理できます
フィルタ後
for each myR in range("A1:A500").SpecialCells(xlCellTypeVisible)
msgbox myR.value
next
最終行 = Range("A" & activesheet.rows.count).End(xlUp).Row
65536行以上のシートでも共通で使うことができます
No.3ベストアンサー
- 回答日時:
#01です
>したがってオートフィルタで抽出を解除すれば同じ通し番号がクラス数分あることになります。
これは最初から書いていただきたかったですが(^^;、それならこのようなマクロでもできます。なお#02さんのご指摘のようにSpecialCellsを用いる方が処理が速くなりますが、手抜きして元のマクロを修正するにとどめます。
Sub Macro4()
Dim idx, cnt As Long
Application.ScreenUpdating = False
For idx = 2 To Range("A65536").End(xlUp).Row
If Rows(idx).Hidden = False Then
cnt = cnt + 1
Cells(idx, "B").Value = cnt
End If
Next idx
Application.ScreenUpdating = True
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで時刻(8:00~20:00)...
-
エクセルでオートフィルタのボ...
-
エクセルのオートフィルタで最...
-
Excelのオートフィルタで非表示...
-
エクセル関数で、数字の入った...
-
Excelで文字を入力と自動的にフ...
-
エクセルの偶数行(奇数行)の抽出
-
ACCESSでスペースの抽出
-
スプレッドシートのチェックボ...
-
データの抽出を教えてください
-
エクセル INDEXとRANDBETWEEN
-
エクセル、オートフィルタで最...
-
オートフィルタを見出し行選択...
-
オートフィルタで未入力(空白...
-
エクセルにて、フィルタをかけ...
-
access マクロでのフィルタの...
-
オートフィルタの抽出が途中で...
-
エクセル データの抽出の方法
-
エクセルの表示形式文字と日付...
-
50音順にわける。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでオートフィルタのボ...
-
エクセルで時刻(8:00~20:00)...
-
エクセルのオートフィルタで最...
-
Excelのオートフィルタで非表示...
-
エクセルの偶数行(奇数行)の抽出
-
エクセル関数で、数字の入った...
-
Excel共有ブックのオートフィル...
-
access マクロでのフィルタの...
-
エクセルにて、フィルタをかけ...
-
エクセルで検索窓のようなもの...
-
データの抽出を教えてください
-
なぜShowAllDataだとうまく行か...
-
エクセル、オートフィルタで最...
-
オートフィルタで3つ以上の条...
-
エクセルで、条件に一致した行...
-
Excelで文字を入力と自動的にフ...
-
可視セルを対象としたcountifが...
-
【EXCEL】条件に一致した最新デ...
-
今日の日付のデータをすばやく...
-
ACCESSでスペースの抽出
おすすめ情報