![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.1ベストアンサー
- 回答日時:
こんな感じでどうでしょう。
元データのシート名は、Sheet1としています。Sub sample()
Dim ws As Worksheet
Dim I As Long
'元シートをコピーし作業用シートを作成。グループでソート&重複を削除する。
Sheets("Sheet1").Copy After:=Sheets(1)
Set ws = ActiveSheet
With ws.Sort
.SortFields.Clear
.SortFields.Add Key:=Range("C:C"), SortOn:=xlSortOnValues, _
Order:=xlAscending, DataOption:=xlSortNormal
.SetRange Range("A:C")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
ws.Range("A:C").RemoveDuplicates Columns:=3, Header:=xlYes
'グループ毎のシート生成。
For I = 2 To ws.UsedRange.Rows.Count
If ws.Cells(I, 3) = "" Then Exit For
Sheets("Sheet1").Copy After:=Sheets(Sheets.Count)
With ActiveSheet
.Range("A:C").AutoFilter Field:=3, Criteria1:="<>" & ws.Cells(I, 3), _
Operator:=xlAnd
.Rows("2:" & .UsedRange.Rows.Count).Delete Shift:=xlUp
.Range("A:C").AutoFilter
.Name = ws.Cells(I, 3)
End With
Next I
'作業用シートの削除。
Application.DisplayAlerts = False
ws.Delete
Application.DisplayAlerts = True
End Sub
No.3
- 回答日時:
こんばんは!
すでに回答は出ていますので、参考程度で・・・
標準モジュールです。
Sub Sample1()
Dim i As Long, k As Long, myCol As Long
Dim sN As String, wS As Worksheet, myFlg As Boolean
Application.ScreenUpdating = False
With Worksheets(1)
myCol = .Cells(1, Columns.Count).End(xlToLeft).Column + 2
.Range("C:C").AdvancedFilter Action:=xlFilterCopy, copytorange:=.Cells(1, myCol), unique:=True
.Columns(myCol).Sort key1:=.Cells(1, myCol), order1:=xlAscending, Header:=xlYes
For i = 2 To .Cells(Rows.Count, myCol).End(xlUp).Row
For k = 2 To Worksheets.Count
If Worksheets(k).Name = .Cells(i, myCol) Then
myFlg = True
Exit For
End If
Next k
If myFlg = False Then
Worksheets.Add after:=Worksheets(Worksheets.Count)
Worksheets(Worksheets.Count).Name = .Cells(i, myCol)
End If
sN = .Cells(i, myCol)
Set wS = Worksheets(sN)
myFlg = False
wS.Move after:=Worksheets(i - 1)
wS.Cells.Clear
With .Range("A1").CurrentRegion
.AutoFilter field:=3, Criteria1:=.Cells(i, myCol)
.SpecialCells(xlCellTypeVisible).Copy wS.Range("A1")
End With
Next i
.AutoFilterMode = False
.Columns(myCol).Clear
End With
Application.ScreenUpdating = True
End Sub
こんな感じではどうでしょうか?m(_ _)m
No.2
- 回答日時:
私だったら、グループの数のシートは作成しませんね。
一例ですが、別途 シートに
A B C
名前 住所 グループ
ア
と云ったシートを準備して
C2セルにグループ名を入力したら
A,B列が表示される仕組みを考えます。
関数でも出来ますが、フィルターオプションの機能が便利です。
http://www4.synapse.ne.jp/yone/excel2010/excel20 …
を参考にしてみてください。
コードは、マクロの記録で簡単に作成できます。
次に、シートモジュールの
Private Sub Worksheet_Change(ByVal Target As Range)
・・・・
End Sub
にコピーすれば、C2セルを変更すると瞬時に希望の一覧になります。
シートは2枚で十分です。
マクロのコードも数行で可能です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Visual Basic(VBA) 【困っています2】VBA 追加処理の記述を教えてください。 2 2022/08/26 11:42
- Visual Basic(VBA) Excel VBA シートを追加後に余分なシートを削除する、の意味 21 2022/05/19 22:46
- Excel(エクセル) エクセル バーコード作成で他のシートを参照するには? 2 2023/05/03 16:57
- Visual Basic(VBA) VBAマクロでシートコピーした新シートにコピー元シートとの計算式の入れ方を教えて下さい。 5 2022/11/20 09:48
- Excel(エクセル) Excelについて 1 2023/03/06 10:26
- Excel(エクセル) 添付写真上のExcelシートのように時間と曜日ごとに担当者が振り分けられているシートがあります。 例 1 2023/03/08 13:02
- Excel(エクセル) VBA セルの値と同じ名前のシートにデータを貼り付けするやり方を教えてください 2 2022/05/17 16:26
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
前の(左隣の)シートを連続参...
-
Excelで同じシートのコピーを一...
-
Excelで金銭出納帳。繰越残高を...
-
エクセルVBAでパスの¥マークに...
-
VBAでシートコピー後、シート名...
-
Excelのシートを、まとめて表示...
-
別シート参照のセルをシート毎...
-
エクセルでファイルを開いたと...
-
Accessのスプレッドシートエク...
-
EXCEL:同じセルへどんどん足し...
-
エクセルの複数シートの保護を...
-
エクセルで前のシートを連続参...
-
エクセルで前シートを参照して...
-
エクセル計算式解説
-
至急お願いします。エクセルシ...
-
Excel、同じフォルダ内のExcel...
-
複数シートの特定の位置に連番...
-
EXCEL マクロで 同じフォルダ内...
-
excelでシート毎の最終更新日を...
-
シートの保護のあとセルの列、...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで同じシートのコピーを一...
-
エクセルの複数シートの保護を...
-
エクセルVBAでパスの¥マークに...
-
EXCEL:同じセルへどんどん足し...
-
VBAでシートコピー後、シート名...
-
別シート参照のセルをシート毎...
-
エクセルでファイルを開いたと...
-
EXCELで1ヶ月分の連続した日付...
-
エクセルで前のシートを連続参...
-
前の(左隣の)シートを連続参...
-
Excel、同じフォルダ内のExcel...
-
Excelで金銭出納帳。繰越残高を...
-
エクセルで前シートを参照して...
-
複数シートの特定の位置に連番...
-
Accessのスプレッドシートエク...
-
シートの保護のあとセルの列、...
-
EXCELで同一フォーマットのシー...
-
特定のシートの削除を禁止した...
-
Excelのシートを、まとめて表示...
-
エクセルで複数設定したハイパーリンク先...
おすすめ情報