• ベストアンサー

sheetを追加する

宜しくお願いいたします Excel2010を使用しています 家計簿を作成しています、1月分は関数等入れて完成しました 1~12月までシートにコピーしましたが、毎年これを使うとなると この作業が面倒で、マクロでどうにかならないか試してみましたが 上手くいきません、 何か、マクロを使い1月のシートを12月までシート名を変えながら 張り付けるマクロは有るでしょうか(シート名が1月・・・・・12月まで関数等含むシートが出来る)

質問者が選んだベストアンサー

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんにちは! Sheet1(1月)は関数が入っていて、手入力データはないとします。 Alt+F11キー → 「This Workbook」をダブルクリック → ↓のコードをコピー&ペーストして マクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub Sheet追加() Dim i, j, k As Long Do Until Worksheets.Count = 12 Worksheets.Add after:=Worksheets(Worksheets.Count) Loop For k = 2 To 12 i = Worksheets(1).UsedRange.Rows.Count j = Worksheets(1).UsedRange.Columns.Count Range(Worksheets(1).Cells(1, 1), Worksheets(1).Cells(i, j)).Copy _ Destination:=Worksheets(k).Cells(1, 1) Worksheets(k).Name = k & "月" Next k End Sub こんな感じではどうでしょうか?m(_ _)m

ok136
質問者

お礼

有難うございました お陰様で完璧に出来ました、結構色々とやってみましたが 上手くいかずに質問しました お陰様で勉強になりました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

いま一番左にあるシートタブが、1月とする。 Sub test01() For i = 12 To 2 Step -1 'MsgBox Trim(Str(i)) & "月" MsgBox StrConv(i, vbWide) & "月" Worksheets("1月").Copy after:=Worksheets("1月") 'ActiveSheet.Name = Trim(Str(i)) & "月" ActiveSheet.Name = StrConv(i, vbWide) & "月" Next i End Sub これの実行で、2月ー12月にシートがコピーされる。 しかし情況やニーズにより、これが質問者に十分ということは無いだろう。 しかしVBA初心者がこれより先VBAや関数で月ごと家計簿シートを作るのは簡単ではないとおもう。 またVBAは簡単ではない。 ーー とりあえず、原シートのどこか1セルに月数字を入れて、その各シートの月数字でシートのセルの式(月中日付ほか)などコントロールすることを考えては。 すなわちそれ向けの関数式などを始から工夫しておかなければならないだろう。 ーーー >毎年これを使うとなるとこの作業が面倒で こんなこと(年1回11シート作成)、を面倒というなら、こんなところへ質問して回答を待つほうが面倒だと思う。 またそれを回答者に丸投げして、回答者に手数を掛けさせるのもどうかということになる。

ok136
質問者

お礼

勉強のつもりで質問しました いやなら回答しないでください。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • シートを追加・名前を次月に変更、前月内容を貼り付け

    エクセルでマクロを使って、シートを追加して、シート名を次月となるように変更したいのです。欲を言えば、今のシートをコピーして新しく作ったシートに貼り付けまでできれば最適です。例ですが、今操作中のシート名が3月とします。内容は3月の集計表を作成です。ここでマクロを実行して、新しくシートを追加しシート名を4月としてシートの内容は3月の内容をコピーして貼り付けしたいのです。仮に5月でも実行すれば6月のシートが作成できるようにしたいのです。ご教授ください。マクロは初心者です。操作はできます。

  • EXCELのシート間でのマクロ計算

    毎日の日報をEXCELのワークシートで作成しております。日報は、その「日」の売上とその「月」の売上(累計)を出すようにしております。月の売上(累計)は、前日の売上のシート(前日分)+本日の売上のシート(本日分)で表しております。日報は、項目がたくさんあるので、月売上を出す場合、シート間での毎日の計算作業が面倒です。ですから、この計算作業をマクロで出来ればと思っております。1つのシートでマクロを使用することは解るのですが、シート間でマクロを利用するやり方がわかりません。 なにとぞ、よろしくお願いいたします。

  • EXCELマクロ シートの追加、シート名の変更

    おはようございます。 1つのブックで1ヶ月分のシートをつくるマクロを考えています。 月次処理シートのA列に例えば8月であれば、 0801 0802 0803・・・と入力。(もしくは0801から0831までをマクロで自動表示) シートを1ヶ月分自動で生成するマクロを実行して、シート名を0801、0802、・・・とそれぞれ自動で変更。 1ヶ月分のブックの完成としたいのですが、どういうマクロを組めばよいでしょうか。

  • エクセルで複数のシートのコピー方法は

    エクセルで シート1~シートN までの複数シートを シート名(集計)にコピーする マクロで関数組む方法を指導願います 条件1 シート名は 作業のつど 名前が 変更します 条件2 シートの形式は全部同じです エクセル 2000

  • エクセルでシート1をシート2にコピーしたら行が違う

    エクセルの勉強中です。かんたんな家計簿を作成し1月分ができました。(添付)そこで、2月分以降のブランクシートを作成しようとしています。 1月分のシートで全セル選択―コピー―シート2をクリック―全セル選択―貼り付け 以上でシート2にコピーされたのですが、行の高さが、まちまちです。(正しい高さと狭い高さが混在しています)※全セル選択は左上のシート全部で行っています) どうしてこんなことになるのか解りません。ご指導をお願いいたします。

  • エクセルでシートを追加するマクロについて

    マクロ初心者ですよろしくお願いします エクセルでシート1は名前などの入力用、シート2はフォーム用として作成しております シート1のA1から最大でA20(変動あり)に名前を入力すると名前の数だけシート2のコピーが追加され、シート名も入力した名前に変更する場合のマクロはどうすれば良いのでしょうか? またシート2のB1にも入力した名前を表示させたいです ご教授お願いいたします

  • シートコピーと値の転記 シート名変更マクロを

    エクセル2010で マクロのご教授をお願いいたします。 BOOK1の Sheet1 A1~A10に 数値1000が入力されているとして Sheet1のシートのコピーを作成 Sheet1にもどり A1~A3の値だけコピーして 作業列C1に 値を貼り付け A1~A10 をクリアーにしたのちに  ※↓が うまくいきません。 A1の値→ A8 A2の値→ A9 A3の値→ A10 に入力 させるマクロは どうなるでしょうか? マクロの記録で いろいろと やってみましたが どうも ※の部分が うまくいきません どう考えてもエクセルに対しての 理解不足だと思われますが、ご教授のほどお願いします。 おこなった自動マクロの記録は↓です。 マクロの記録開始する 名前 シートコピー Sheet1を右クリックして移動またコピー コピーを作成にチェックをいれ OK コピーシートが作成される。 Sheet1をクリックしなおして A1からA3をコピー  作業列として C1に 形式を選択して貼り付け 値 A1~A10を delete でクリア C1~C3を選択 コピー A8に 形式を選択して貼り付け 値 マクロの記録終了。 あと Sheet1をコピーするさいに シート名を前日の日付に自動的に変更できればと いいなと 考えておりますが できるのでしょうか? 例えば、本日でいえば シート名→ 0112 のような シート名を変更できればすてきだと おもいます。 どうぞ よろしくお願いします。

  • エクセルマクロでファイル名やシート名変更できない

    エクセルは初心者なのでマクロを自動記録して作成しています。 少しづつ動作を小分けにして記録して、まとめてボタンで連続実行させるようにしました。 (1)作成途中で失敗したら最初からの作業になると思い、 ある程度進んだら何度かファイルのコピーを作成して進めていました。 ある程度完成した時点でファイル名が「○○○4~コピー~」の様な名前だったので、正式に名前を決めて変更したらマクロの実行が出来なくなりました。(元の名前に戻すと実行可能) (2)またシートも複数のシートに跨って参照するようなマクロです。 シート名を分かりやすい名前に変更したらこの場合もマクロ実行できなくなりました。 (3)コピーしたファイルもマクロ実行できないものがあります。 コピーしたファイルはマクロ実行できないのでしょうか? (4)ファイル作成途中で何かの変更が生じて列や行の挿入を行った場合、 特定のセルを参照して計算するマクロは実行できなくなるのでしょうか? その場合、簡単に修正する方法はありますか? 初心者にも分かるような回答をよろしくお願いいたします。

  • EXCEL 追加したシートへのリンク

    BOOK1に他のエクセルファイルからシートを複数コピーして、そのコピーした各シートの値をBOOK1のシートAに関数で書き出したいのですが、可能でしょうか? 値貼り付けを複数回繰り返すのは面倒なので、VBAのWorkseets(1)みたいにファイルの一番左にあるシートのA1、というようなセル番地の指定が関数で出来たらと思っているのですが。

  • マクロのコピーのやり方について

    マクロのコピーのやり方について エクセル2003で作成したマクロが組まれているシートをエクセル2007の新しいシートにコピーしたらマクロが正常に機能しません。どのようにコピーすればエクセル2007のシートに張り付くのでしょうか。 今現在はエクセル2007を使用しているので2003ではなく2007バージョンで変換しようとしたらできなかったので、新しいシートにコピーして貼り付けという作業をしているところです。

専門家に質問してみよう