
No.1ベストアンサー
- 回答日時:
同じ手順で標準モジュールを用意、下記をコピー貼り付ける
sub macro2()
dim h as range
on error goto errhandle
worksheets("元データのシート名").select ’2度目。シート名は?
’転記する
for each h in range("B2:B" & range("B65536").end(xlup).row)
h.entirerow.copy worksheets(h.value).range("A65536").end(xlup).offset(1)
next
exit sub
errhandle:
’支店名シートを新調する
worksheets.add after:=worksheets(worksheets.count)
activesheet.name = h.value
worksheets("元データのシート名").range("1:1").copy range("A1")
resume
end sub
シートにボタン絵柄を作成し、右クリックしてマクロを登録する。
この回答へのお礼
お礼日時:2014/05/28 14:29
keithinさん、ご連絡ありがとうございました。
何度もご丁寧なご説明ありがとうございました。
おかげさまで今回も希望通りの集計ができました。
本当にありがとうございました。
No.3
- 回答日時:
No.2です。
>このシートのどこかに「ボタン」を作成してこのボタンを押すと・・・
を見逃していました。
メニュー → 開発 → 挿入のアイコン → ActiveXの「コマンドボタン」が良いと思います。を挿入 → そのコマンドボタン上でダブルクリック
>Private Sub CommandButton1_Click()
と
>End Sub
の間に
前回のコードの
>Sub Sample1() 'この行から
と
>End Sub 'この行まで
以外をコピー&ペースト → デザインモードを解除して、コマンドボタンをクリックしてみてください。
※ 別にコマンドボタンでなくても、オートシェイプ等を使って「マクロの登録」でも可能です。
どうも失礼しました。m(_ _)m
この回答へのお礼
お礼日時:2014/05/28 14:31
tom04さん、ご連絡いただきまして誠にありがとうございます!!
希望通りの動きが出来ました!!
本当にありがとうございました。
いつも詳細なご説明いただきまして誠にありがとうございます。
No.2
- 回答日時:
こんばんは!
一例です。
標準モジュールにコピー&ペーストしてマクロを実行してみてください。
尚、元データはSheet1(Sheet見出しの一番左側にあるとします)
Sub Sample1() 'この行から
Dim i As Long, k As Long, wS As Worksheet
Application.ScreenUpdating = False
If Worksheets.Count > 1 Then
Application.DisplayAlerts = False
For k = Worksheets.Count To 2 Step -1
Worksheets(k).Delete
Next k
End If
Worksheets.Add after:=Worksheets(1)
Set wS = Worksheets(2)
With Worksheets(1)
.Range("B:B").AdvancedFilter , Action:=xlFilterCopy, copytorange:=wS.Range("A1"), unique:=True
For i = 2 To Worksheets(2).Cells(Rows.Count, "A").End(xlUp).Row
Worksheets.Add after:=Worksheets(Worksheets.Count)
Worksheets(Worksheets.Count).Name = wS.Cells(i, "A")
.Range("A1").AutoFilter field:=2, Criteria1:=wS.Cells(i, "A")
.Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy
Worksheets(Worksheets.Count).Range("A1").PasteSpecial Paste:=xlPasteAll
Next i
.AutoFilterMode = False
wS.Delete
Application.DisplayAlerts = True
.Activate
.Range("A1").Select
End With
Application.ScreenUpdating = True
End Sub 'この行まで
※ 一旦Sheet1以外は削除するようにしていますので、
念のため、別Bookでマクロを試してみてください。m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【マクロ】毎回、ファイル名が...
-
Excelで金銭出納帳。繰越残高を...
-
エクセルで前シートを参照して...
-
excelでシート毎の最終更新日を...
-
複数シートの特定の位置に連番...
-
別シート参照のセルをシート毎...
-
シートの保護のあとセルの列、...
-
エクセルVBAでパスの¥マークに...
-
条件に応じて特定の行を非表示...
-
Excelでセル内の数式は残し値だ...
-
エクセルでシートの数を数える...
-
エクセルで、売り上げの日計と...
-
excel ある部分だけをコピペし...
-
EXCELで1ヶ月分の連続した日付...
-
エクセルでファイルを開いたと...
-
エクセルで毎回1枚目のシートを...
-
エクセル 計算式も入っていない...
-
エクセルのシート名をリスト化...
-
シートを追加・名前を次月に変...
-
Excelのシートを、まとめて表示...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】毎回、ファイル名が...
-
シートをコピーして シートに...
-
エクセルのマクロで指定条件一...
-
エクセルのマクロ設定について...
-
Excel マクロ 他ブックのシート...
-
Excel VBA 検索して該当行を抽出
-
プロジェクトロックしてあるシ...
-
エクセル マクロの作り方
-
Excel で選択しているセルの行...
-
別シート参照のセルをシート毎...
-
エクセルの複数シートの保護を...
-
条件に応じて特定の行を非表示...
-
エクセルで前シートを参照して...
-
前の(左隣の)シートを連続参...
-
エクセルでファイルを開いたと...
-
EXCEL:同じセルへどんどん足し...
-
Excelで金銭出納帳。繰越残高を...
-
複数シートの特定の位置に連番...
-
Excelのシートを、まとめて表示...
-
Excel2007で、太字にした行のみ...
おすすめ情報