
マクロのコードを組みたいと考えておりますが、
ほとんど初心者のため、お詳しい方の力を貸していただきたい次第でございます。
m(__)m
○オートフィルターーでデータをソートし、そのソートごとのシートを自動作成。
その後、そのシートを各フォルダに保存したい。
あるデスクトップ上にあるエクセルシート「管理DB」の「sheet1」にある管理データ
A列(グループa~e)、B列(登録日)、C列(ステータス)によって構成されているシートで、
1.A列「グループ」「a」でオートフィルター
2.その中でB列、「登録日」が「2012年9月」以前のものをオートフィルター
3.その中で、さらに「ステータス」が「在庫中」のものをオートフィルター
4.3段階のオートフィルター後にできた結果を、別のエクセルシートとして作成。
5.そのエクセルシートをデスクトップにある「フォルダX本部」に保存。
1~5の一連の作業をグループがなくなるまで繰り返したいと考えています。
1.A列「グループ」「b」でオートフィルター
2.その中でB列、「登録日」が「2012年9月」以前のものをオートフィルター
3.その中で、さらに「ステータス」が「在庫中」のものをオートフィルター
4.3段階のオートフィルター後にできた結果を、別のエクセルシートとして作成。
5.そのエクセルシートをデスクトップにある「フォルダY本部」に保存。
※一連の作業の中で、グループ名と、シートの保存先が変わる以外、この作業の繰り返し。
以上の作業を実行するマクロを組むことは可能でしょうか。
また、マクロのコードを教えていただけると幸いです。
マクロについてお詳しい方、何卒よろしくお願いいたします。
No.4ベストアンサー
- 回答日時:
>誰がログインしてもマクロを実行できるようにするため、
では、マクロを取り付けた「管理DB」ブックと「フォルダY本部」フォルダを一緒にして共有フォルダに置いておき、みんなが同じデータブック(とフォルダ)を共有して使えるようにしてください。
マクロを修正する必要はありません。
それとも?
マクロブックは一人一人別々に持ちたい、けどフォルダだけは共有したいのですか?
それなら、あなたのパソコンの「具体的な共有フォルダ(のフォルダY本部)」の場所(パス)を調べてマクロに書いてください。
パスとは:
"c:\test\フォルダY本部\"
のような書き振りの文字列
手順:
「フォルダY本部」フォルダの「中に入れてある」何かテキトーなファイルを1つ右クリックしてプロパティを表示する
「場所」欄にパスが書いてあるので、コピーしてマクロを修正する。
#参考
てきとーにブックをよういする
新しいマクロの記録を開始する
目的の共有フォルダ(に用意した「フォルダY本部」フォルダ)の中に、ブックを保存する
記録終了する
自動記録されたマクロを確認し、具体的なマクロの書き振り(実際のパス)を読み取って反映する
No.3
- 回答日時:
>マクロのコードを教えていただけると幸いです。
今、ここに書かれている内容をすべてコード化したところで
その内容が理解できますか?
当然、これから業務・運用の変更も発生するでしょう
その時にあなたが責任を持って対応することになります。
自分で四苦八苦しながら作成することで身に付きますのでヒントのみに致します。
>○オートフィルターーでデータをソートし、そのソートごとのシートを自動作成。
> その後、そのシートを各フォルダに保存したい。
目的を実行するための手順ですが、色々な考え方・手法があります(これをアルゴリズムと呼びます)。
1、オートフィルターで絞り込んでいくのではなくフィルターオプションの機能を使って
別シートに結果を抽出する手法をお勧めします。
下に、VBAまでの作成手順が載ったサイトがありましたので、参考にして、とりあえず
このサイトにあるボタンまで作成してみて下さい。
http://www.eurus.dti.ne.jp/yoneyama/Excel/filter …
2、本当に、デスクトップに沢山のフォルダを作って、沢山のファイルを保存することが必要ですか?
最初は良くても年月とともに複雑になってしまい、失敗する事例の一つです。
(特に初心者の方が陥ってしまう一例です)
作成したフォルダ、ファイルをどのように活用しようとしているのかまで考えて次ステップの
コードを考えてください。
賢い方法は
いつでも、だれでも、データがあるエクセルシートから簡単にデータが抽出して別ファイル化できる
データはひとつで一元化することが基本です。
No.2
- 回答日時:
淡々と、あなたのヤリタイことをその通りにマクロに書いていくだけです。
ヤリタイと考えた手順が正しければ、マクロも別にむずかしいことなく書けるようになります。もし教わったマクロが難しく見えるとしたら、単に手順がアタマに入っていないからです。
手順:
「管理DB」ブックを開く
ALT+F11を押す
現れたVBE画面で挿入メニューから標準モジュールを挿入する
現れたシートに下記をコピー貼り付ける
sub macro1()
dim gp as variant
dim g as variant
gp = array("a","b","c","d","e") ’グループの具体的な中身
application.screenupdating = false
with thisworkbook.worksheets("Sheet1")
.range("A:C").autofilter field:=2, criteria1:= "<" & dateserial(year(date), month(date) + 1, 1)
.range("A:C").autofilter field:=3, criteria1:= "在庫中"
for each g in gp
.range("A:C").autofilter field:=1, criteria1:= g
.copy
activesheet.showalldata
activesheet.cells.clearcontents
.range("A:C").copy activesheet.range("A1")
activeworkbook.saveas filename:= thisworkbook.path & "\フォルダY本部\" & g
activeworkbook.close false
next
.showalldata
end with
application.screenupdating = true
end sub
管理DBブックからマクロを実行する。
#補足
>B列、「登録日」が「2012年9月」以前のもの
具体的なデータの例示がありませんが、登録日はキチンと「年/月/日」で記入してあるとします。表示がどうなっていてもかまいません。
この回答への補足
ご親切にご回答いただきましてありがとうございます。
とても助かりました!
初心者の質問で大変申し訳ございませんが、
保存先フォルダの場所を、誰がログインしてもマクロを実行できるようにするため、
共有ファイルの中のフォルダに保存したいときは、どのようにパスの指定をすればよろしいのでしょうか??
ActiveWorkbook.SaveAs Filename:= thisworkbook.path & "\フォルダY本部\" & g
ここのどこの部分をどう書き換えればいいのか教えていただけると幸いです。
初歩的な質問で恐縮ですが、何卒よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- その他(コンピューター・テクノロジー) VBA初心者です。 仕事の残業を少しでも減らしたく 最近勉強を始めたのですが フィルターを一気にかけ 4 2022/08/15 20:58
- その他(Microsoft Office) エクセルマクロ オートフィルターでで選択コピー 2 2022/04/18 11:05
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルのオートフィルターのしぼりをクリアーしたい 2 2022/12/24 08:36
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/16 14:36
- Excel(エクセル) Excel_マクロ_複数のシートのVLOOKUPで表示された#N/A以外に色付けをしたいです 1 2023/02/16 22:37
- Visual Basic(VBA) ExcelVBA ドロップボックスで月を選択するとそれ以降のデータが残るようにしたい。 3 2022/12/16 14:53
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行して 作業フォルダの中にある PDFファイル名を 3 2023/07/01 15:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで数字を入れたら対応する...
-
マクロがコードに記録されない
-
EXCELのダイアログシートって、...
-
マクロの解析してください。
-
Excel VBAでのWorksheet_Change...
-
excel マクロコードを教えてい...
-
エクセルVBAコード
-
エクセル(こんな関数ってあり...
-
MS-Excelでアクティブセル上に...
-
Excelマクロについて
-
excelで画像のハイパーリンクを...
-
EXCEL2002で、OnTime メソッド...
-
★エクセルマクロコード教えてい...
-
指定値をマクロで検索&シート移動
-
EXCEL;VBAマクロ:シ...
-
エクセルでマクロを組み始めた...
-
マクロ1があります。 A1のセル...
-
いつもありがとうございます。...
-
マクロの相対セル参照記録って?
-
エクセル バージョン別の使用...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでのWorksheet_Change...
-
マクロ1があります。 A1のセル...
-
エクセルで複数のシートのクリ...
-
Excelのシート上のShapeにイベ...
-
Excelで数字を入れたら対応する...
-
【エクセル】フリーワード検索...
-
エクセルで特定の行だけ行削除...
-
エクセルファイルを開いた回数...
-
エクセル シート内の一番下のセ...
-
EXCELのダイアログシートって、...
-
長い時間かかるマクロが実行中...
-
【エクセル】「実行時エラー’10...
-
指定値をマクロで検索&シート移動
-
エクセル:セル内の文字列の最...
-
excel定数の違いについて。xlAu...
-
Excelにて、同じ画像を複数のセ...
-
Excelマクロでブック全体を検索...
-
エクセルでマクロを作りすぎた...
-
エクセルVBAで実行中画面を...
-
シートではなくBOOK間で重複し...
おすすめ情報