初心者です。よろしくお願いします。
Excelで条件別にシートを振り分ける方法を教えてください。
名簿の管理をしています。
シート1にNoや名前を入力し、条件ごとに別シートに行ごと自動で振り分ける方法がありますか?
情報を入力するのは、シート1のみで、
シート2~6を自動で振り分けたクラス名簿という形にしたいです。
現在、以下のようにシート1を作成してます。
列A 列B 列C
行1 No 氏名 クラス
行2 1 花子 A
行3 2 太郎 C
行4 3 二朗 B
行5 4 京子 B
行6 5 史郎 B
行7 6 典子 C
行8 7 公子 A
・
・
これを、シート2はAクラス、シート3はBクラスという具合に、Noと氏名を振り分けたいです。
よろしくお願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
No.1です!
たびたびごめんなさい。
前回
>データが変更があるたびに・・・
と書いてしまっているので、コードを訂正させてください。
Sub 振り分け() 'この行から
Dim i, k, N As Long
Dim ws As Worksheet
Set ws = Worksheets(1)
For k = 2 To Worksheets.Count
N = Worksheets(k).Cells(Rows.Count, 1).End(xlUp).Row
If N > 1 Then
Worksheets(k).Rows(2 & ":" & N).Delete
End If
For i = 2 To ws.Cells(Rows.Count, 1).End(xlUp).Row
If ws.Cells(i, 3) = Worksheets(k).Name Then
Range(ws.Cells(i, 1), ws.Cells(i, 2)).Copy Destination:= _
Worksheets(k).Cells(Rows.Count, 1).End(xlUp).Offset(1)
End If
Next i
Next k
End Sub 'この行まで
前回は無視して、こちらのコードをコピー&ペーストしてください。
何度も失礼しました。m(_ _)m
No.1
- 回答日時:
こんばんは!
色々方法はあるかと思いますが・・・
VBAでの一例です。
Sheet1に元データがあり、Sheet2以降のSheet名はSheet1のC列データと同じSheet名が付いているという前提です。
そして、各Sheetとも1行目の項目はすでに入っているとして、
A・B列のみで良いわけですよね?
Alt+F11キー → VBE画面が出ますので、画面左下の「This Workbook」をダブルクリック
→ ↓のコードをコピー&ペーストしてマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)
Sub 振り分け() 'この行から
Dim i, k As Long
Dim ws As Worksheet
Set ws = Worksheets(1)
For k = 2 To Worksheets.Count
For i = 2 To ws.Cells(Rows.Count, 1).End(xlUp).Row
If ws.Cells(i, 3) = Worksheets(k).Name Then
Range(ws.Cells(i, 1), ws.Cells(i, 2)).Copy Destination:= _
Worksheets(k).Cells(Rows.Count, 1).End(xlUp).Offset(1)
End If
Next i
Next k
End Sub 'この行まで
※ Sheet1のデータ変更があるたびにマクロを実行してください。
ご希望の方法でなかったらごめんなさいね。m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルについて教えてください。 3 2023/06/28 09:11
- Excel(エクセル) EXCEL 関数を教えてください。(A列の同じ値が複数ある場合vlookupで出来ますか) 4 2022/12/07 20:54
- Excel(エクセル) Excelで質問です! 現在マクロを勉強中の初心者です。 以下のような表から、会社名が空白のもの以外 2 2022/06/14 12:16
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
- Visual Basic(VBA) ExcelのVBAを使い、複数シートの同一箇所を、同一条件にて一括でソルバーを回す方法について 1 2022/04/23 11:49
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) 別シートに毎回異なるデータをコピーする 7 2022/06/24 09:02
- Visual Basic(VBA) excelにて、特定の列に数字入力してあれば、入力してある行コピーして 別ファイルに張り付ける 2 2022/08/11 05:33
- Visual Basic(VBA) VBAで、1つのエクセルで、2つのシートからもう1つのシートに条件のある転記コードを教えてください。 1 2023/03/16 18:07
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
エクセル入力で項目別にシートに振り分ける方法を教えてください!
Excel(エクセル)
-
Excelの出納帳で、別シートに自動で振り分け
財務・会計・経理
-
エクセルの1シートを項目別に別シートへ分ける方法
Excel(エクセル)
-
-
4
エクセル 関数で条件別で振り分ける方法
Excel(エクセル)
-
5
【VBA】データを各シートに自動振り分けしたい
Visual Basic(VBA)
-
6
エクセルでシートの振り分けを自動的にする方法
Excel(エクセル)
-
7
Excelで項目ごとにシートを振り分ける方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelのセルの色を変えた行(す...
-
文字の色も参照 VLOOKUP
-
エクセルの保護で、列の表示や...
-
ExcelのVlookup関数の制限について
-
Excel の複数シートの列幅を同...
-
【条件付き書式】countifsで複...
-
エクセルVBAで、ある文字を含ん...
-
エクセルで、チェックボックス...
-
VBAで繰り返しコピーしながら下...
-
Excel VBA ピボットテーブルに...
-
Excel複数シートにあるデータを...
-
Excelでの並べ替えを全シートま...
-
エクセルのブック分割マクロを...
-
エクセル マクロ 標準モジュー...
-
SUMPRODUCTにて別シートのデー...
-
VBAで検索して、行をコピー&追...
-
EXCEL 関数を教えてください。...
-
エクセルの列の限界は255列以上...
-
エクセルで横並びの複数データ...
-
データチェックを行うエクセル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
文字の色も参照 VLOOKUP
-
ExcelのVlookup関数の制限について
-
エクセルの保護で、列の表示や...
-
VBAで繰り返しコピーしながら下...
-
Excel の複数シートの列幅を同...
-
Excel複数シートにあるデータを...
-
エクセルの列の限界は255列以上...
-
【条件付き書式】countifsで複...
-
エクセル マクロ 標準モジュー...
-
Excelでの並べ替えを全シートま...
-
SUMPRODUCTにて別シートのデー...
-
エクセルで、チェックボックス...
-
スプレッドシートでindexとIMPO...
-
VLOOKアップ関数の結果の...
-
Excel VBA ピボットテーブルに...
-
エクセルで横並びの複数データ...
-
Excelに自動で行の増減をしたい...
-
【VBA】ピボットテーブルを既存...
-
【VBA】複数のシートの指定した...
-
オートフィルタ使用時にCOUNTIF...
おすすめ情報