- ベストアンサー
前月分を次月シートに繰越できるマクロについて
今Excel2003で月ごとの会員名簿を作っています。 新規でシートが作られて月名と各項目を残したまま 次月シートが作られるというマクロを是非教えていただきたいです。 その際前月の会員名だけは消えていることが望ましいのですが。。 なるべく多数の初心者でも触れるように作成後はオートシェイプか何かにマクロを登録してクリックするだけで上記の作業を行ってくれるという形にしたいと思っています。 宜しくお願い致します。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
>新規でシートが作られて月名と各項目を残したまま と↓は矛盾しているように思います。 >次月シートが作られるというマクロを是非教えていただきたいです。 月名は翌月の月名ではなくていいのでしょうか? シートのコピー(セルのコピーではなく) ↓ 不要なセルをクリア この作業をマクロの自動記録してみてください。 出来たコードを改造したらお望みのことが出来ると思います。
その他の回答 (4)
- web2525
- ベストアンサー率42% (1219/2850)
どの様な表か分らないとマクロの作りようも無いのですが 会員名簿自体を毎月作成? >会員名だけは消えていることが望ましいのですが。。 毎月会員が入れ替わるのですか、月と項目名だけをコピーするのならマクロ作るまでもないと思いますが、コピーして貼り付けるだけですよね。 >なるべく多数の初心者でも触れるように作成後はオートシェイプか何かにマクロを登録してクリックするだけで上記の作業を行ってくれるという形にしたいと思っています。 作成するのはその月の会員名簿ですよね? 当月中に何回も会員名簿の作り直しを行うのですか? やっぱり元データがどんな物なのかが分らないとイメージがつかめないです。
お礼
ご回答ありがとうございました。 わかりづらく身勝手なご質問で申し訳ありません。 マクロ頑張って勉強してみたいと思います。
- hige_082
- ベストアンサー率50% (379/747)
まずは、禁止事項の丸投げ・依頼の項目をお読みください >マクロを是非教えていただきたいです。 >そしてコード改造はよくわかりません。 コードを教えて欲しいが、自分では改造できない 即ち、コードを書いて欲しいとの依頼ではないでしょうか 本題です 新しいシートに付ける翌月の基準がわかりません コピー元のシート名を使用するのか、どこかのセルを参照するのか 消去するセルも分かりません 質問から読み取れるのは シートをコピーして名前を付けるぐらいですので その部分のサンプルを提示しておきます Sub Macro1() ' Macro1 Macro ' マクロ記録日 : 2009/1/11 ユーザー名 : ' Dim a As String ActiveSheet.Copy After:=Sheets(Sheets.Count) a = InputBox("何月ですか?") ActiveSheet.Name = a End Sub 簡単なコードなので、分からない所は ご自分でお調べください
お礼
ご回答ありがとうございました。 身勝手なご質問で申し訳ありません。 マクロ頑張って勉強してみたいと思います。
- marbin
- ベストアンサー率27% (636/2290)
こういう作業はまずマクロの自動記録でコードをとって、 そこから余計な部分を削除したり変数を組み込んだりして 改造するものなのですが。 自分の手を動かさないで口をあけて果実が落ちてくるのを 待つ、というような方にはお教えしようとする人はなかなか いないと思います。 他の回答者のレスをお待ち下さい。 私はここで降ります。
お礼
ご回答ありがとうございました。 申し訳ありません。 マクロ頑張って勉強してみたいと思います。
- marbin
- ベストアンサー率27% (636/2290)
>VBAなどでは出来ないのでしょうか?? ?? 出来ますよ。 だから >この作業をマクロの自動記録してみてください。 >出来たコードを改造したらお望みのことが出来ると思います。 と申し上げました。
補足
ご回答ありがとうございます。 手順(作業)を自動記録しておく方法も考えましたが、それでは 少し効率が悪い感じがしました。 例えば、マクロ記録中に・・・ 1月シート(1月と入っているシート)をコピーしたら 1月と入ったままのシートができるので2月や3月に変える作業をしなくてはいけません。 それに伴ってシート名も変更しなくてはいけません。 データを消す方法はmarbinさんのご回答でいけますが 上記の方法はあまり効率的に思えませんでした。 そしてコード改造はよくわかりません。 何度も申し訳ありませんが、宜しくお願い致します。
補足
お早いご回答ありがとうございます。 すみません。「翌月」の誤りでした。 VBAなどでは出来ないのでしょうか??