No.4ベストアンサー
- 回答日時:
No.2 mike_gさんの質問ですが、回答者側から言わせてもらうと非常に重要なことです。
何故なら、質問者のレベルに合わせて回答しないと何の役にも立たないからです。
今回は、マクロの知識があると云うことなので、その前提で回答させていただきました。
こんな感じです。
Sub sample()
Set ws = ActiveSheet
ce = Range("営業担当者セル").Value
fp = Range("出力先").Value
Set d = CreateObject("Scripting.Dictionary")
For i = 1 To Cells(Rows.Count, ce).End(xlUp).Row
Set d.Item(Cells(i, ce).Value) = Cells(i, ce)
Next i
For Each i In d.keys
ws.Copy
Columns(ce).ColumnDifferences(d.Item(i)).EntireRow.Delete
ActiveWorkbook.SaveAs Filename:=fp & "\" & i & ".xlsx"
ActiveWorkbook.Close
Next i
End Sub
No.3
- 回答日時:
こんばんは!
>営業担当者毎に、ファイルを分割するマクロをおしえてください。
別ファイルではなく、別シートに抽出する方法にしてみました。
尚、各シート名は担当者名にするとします。
>営業担当者が入力されている列が資料により、異なるので・・・
元データは「Sheet1」にあり、1行目が項目行になっているとします。
どこの列に「担当者」の列があっても構いませんが、
項目名は「担当者」となっているという前提です。
標準モジュールにしてください。
Sub Sample1()
Dim i As Long, k As Long, sN As String
Dim c As Range, myRng As Range
Dim sS As Worksheet, wS As Worksheet, myFlg As Boolean
Worksheets.Add after:=Worksheets("Sheet1")
ActiveSheet.Name = "作業用"
Set sS = Worksheets("作業用")
With Worksheets("Sheet1")
Set myRng = .Range("A1").CurrentRegion
Set c = .Rows(1).Find(what:="担当者", LookIn:=xlValues, lookat:=xlWhole)
'↑「担当者」の部分は実際の項目名に!//
myRng.Columns(c.Column).AdvancedFilter Action:=xlFilterCopy, copytorange:=sS.Range("A1"), unique:=True
For i = 2 To sS.Cells(Rows.Count, "A").End(xlUp).Row
sN = sS.Cells(i, "A")
For k = 3 To Worksheets.Count
If Worksheets(k).Name = sN Then
myFlg = True
Exit For
End If
Next k
If myFlg = False Then
Worksheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = sN
End If
Set wS = Worksheets(sN)
wS.Cells.Clear
myRng.AutoFilter field:=c.Column, Criteria1:=sS.Cells(i, "A")
myRng.SpecialCells(xlCellTypeVisible).Copy wS.Range("A1")
wS.Move after:=Worksheets(i)
myFlg = False
Next i
.AutoFilterMode = False
Application.DisplayAlerts = False
sS.Delete
Application.DisplayAlerts = True
.Activate
End With
End Sub
こんな感じではどうでしょうか?m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel ある複数列に数値を入力した際に、別の列に本日の日付を入力したいです 7 2023/03/01 23:31
- Excel(エクセル) 【Excel質問】 「本日の日付」から指定条件を満たす営業日経過後の日数を表示させる関数式 3 2022/06/06 23:28
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- Visual Basic(VBA) エクセルVBA 4 2022/05/14 00:51
- Visual Basic(VBA) tatsumaru77様 昨日回答して頂いたものです。 すみませんが、昨日の質問で1つ補足があります 1 2022/05/15 15:06
- Visual Basic(VBA) excelにて、特定の列に数字入力してあれば、入力してある行コピーして 別ファイルに張り付ける 2 2022/08/11 05:33
- Visual Basic(VBA) VBAで重複データを確認したい 5 2022/10/07 16:24
- Excel(エクセル) エクセルで30日以内に同内容の入力があったら色を付ける 2 2023/03/04 12:32
- Excel(エクセル) エクセルの条件付き書式 個人シートを参照して集計シートに色付けしたい 1 2023/06/22 00:39
- その他(データベース) Excel VBA 転記について 1 2022/04/20 16:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Word2016でExcelデータを差込し...
-
【Excel VBA】CSV取込時、数字...
-
EXCELで2つのシートから一致し...
-
EXCELの列の幅
-
EXCEL2007で2つのシートのどっ...
-
SUMPRODUCT関数で複数条件適用...
-
エクセルでページ毎の計をつけ...
-
Excel 表の必要箇所だけを抜き...
-
エクセルで前年同日・前月同日...
-
エクセルで縦線のいっぱい入っ...
-
セル入力文字が、「右のセルに...
-
エクセル、ページをまたがった...
-
パワポの複数ページにまたがる...
-
ワードの表の行が広がってしまう
-
エクセルで知らない間に行がず...
-
PowerPointの表の罫線を二重罫...
-
あるセルに色を付けた時、別の...
-
Wordでセルに文字を入力すると...
-
ワードの表を図にして、ワード...
-
ワードの表の列幅を文字ぎりぎ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Word2016でExcelデータを差込し...
-
【Excel VBA】CSV取込時、数字...
-
EXCELで2つのシートから一致し...
-
Excel 表の必要箇所だけを抜き...
-
EXCELの列の幅
-
エクセルで前年同日・前月同日...
-
エクセルでページ毎の計をつけ...
-
excelの列がいっぱいになり列を...
-
EXCEL2007で2つのシートのどっ...
-
エクセルの複数ワークシートの...
-
ExcelのIF関数について
-
エクセルで2列以上のものを同時...
-
エクセルの余白を0にしても列...
-
エクセルで電話番号にハイフン...
-
EXCELで不良率を出そうと思って...
-
エクセルVBAで複数列データを1...
-
VBAで他のシートの特定の列を検...
-
SUMPRODUCT関数で複数条件適用...
-
エクセル:最新データ12件で...
-
ピボットテーブル作成後、重複...
おすすめ情報
あらかじめ、営業担当者をが入っている列とファイルの出力先を指定するセルをつくります。
それを元にマクロが実行できればと思います。