スポンサードリンク | |
No | 氏名 | 希望講座 |
1 | 二瓶杏 | 昼 |
2 | 斉藤善四郎 | 晩 |
3 | 平本嘉子 | 昼 |
4 | 佐川瑠花 | 晩 |
5 | 北野麻衣子 | 晩 |
6 | 塩見雅子 | 朝 |
7 | 赤井菜帆 | 朝 |
8 | 長島早希 | 昼 |
9 | 船越政幸 | 朝 |
10 | 柴崎正弘 | 晩 |
11 | 高梨量子 | 朝 |
12 | 宮島紫 | 昼 |
FILTER関数を使って求める | ピボットテーブルを利用する方法 |
VBA(マクロ)を使って処理する方法 | |
数式を使って書き出す方法 | 配列数式を使って合計する |
Sub test1() Dim i As Long Dim lastRow As Long Dim mySh As Worksheet Dim myFlg As Boolean Dim myRow As Long Dim myKey As String lastRow = Worksheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row For i = 2 To lastRow '----振り分け先のシートが存在するか否かをチェック For Each mySh In Worksheets myFlg = False myKey = Worksheets("Sheet1").Range("C" & i).Value If mySh.Name = myKey Then myFlg = True mySh.Cells.Delete Exit For End If Next mySh '----振り分け先のシートがなかったらシートを追加する If myFlg = False Then ActiveWorkbook.Worksheets.Add(after:=Worksheets(Worksheets.Count)).Name = myKey End If '----列見出しをコピー&貼り付け Worksheets("Sheet1").Range("A1:C1").Copy Worksheets(myKey).Range("A1") Next i '----データを転記する For i = 2 To lastRow myKey = Worksheets("Sheet1").Range("C" & i).Value If myKey <> "" Then myRow = Worksheets(myKey).Range("A" & Rows.Count).End(xlUp).Row + 1 Worksheets("Sheet1").Range("A" & i & ":C" & i).Copy _ Worksheets(myKey).Range("A" & myRow & ":C" & myRow) End If Next i End Sub |
スポンサードリンク
PageViewCounter
Since2006/2/27