• 締切済み

エクセルで各シートに1~12月を入力する方法

エクセルで12枚のシートがあります。 各シートの同位置セルに「平成○年 ◎月売上げ」と入力したいのですが、◎部分に4月~12月、1月、2月、3月、   ○部分に4月~12月シートには平成19年     1月~3月シートには平成20年と、 各シート1枚ずつに入力するしかないのでしょうか? 初心者でよくわかりません。教えて下さい。よろしくお願いします。

みんなの回答

  • ka_na_de
  • ベストアンサー率56% (162/286)
回答No.6

ka_na_deです。 シート名ではなく、セルに入力するのですね。 完全に勘違いしてました。 私の回答は無視してください。 papayuka さんのVBAが、ばっちりです。 内容すべてが、とても参考になりました。 ブックマークに登録しました。 あんなに簡単に記述できるのですね。

reaf
質問者

お礼

丁寧に回答頂き、ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
noname#79209
noname#79209
回答No.5

表示書式で、年や月の数字を全角表示したいなら、 [DBNum3]ggge"年"m"月" でいけます。 お試し下さい。

reaf
質問者

お礼

回答ありがとうございます。 参考にさせていただきます。

全文を見る
すると、全ての回答が全文表示されます。
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.4

セルの書式設定で表示形式をユーザー定義にして ggge"年 "m"月売上" のようにして、 2007/4/1 と入力すると 平成19年 4月売上 と表示されます。 これを各シートに設定しておけば、日付入力で出来るので幾らか手間が省けます。 さらに、Sheet2 以降は =DATE(YEAR(Sheet1!A1),MONTH(Sheet1!A1)+1,1) のようにして行けば、Sheet1 だけ開始の日付を入力すれば良い状態になります。 でもこれでは各シートに全て入力するのと大差ありません。 楽にするならやはりマクロです。 1)新規ブックを開きシートを12枚用意します。 2)Excel画面のメニューでツール-マクロ-VisualBasicEditor(以下VBE)を押下し、VBE画面を開きます。 3)VBE画面のメニューで挿入-標準モジュールを押下して、下記のマクロをコピーして貼り付けます。 4)VBE画面を閉じます。 5)Excel画面のメニューでツール-マクロ-マクロで「Test」を実行します。 6)指定した日付以降が、各シートの A1 に記入されます。 なお、マクロの実行が出来ない場合は、ツール-マクロ-セキュリティでセキュリティレベルが「中」になっている事を確認し、なっていない場合は「中」にしてからExcelを起動し直す必要があります。 Sub Test() Dim myDate, ws As Worksheet  myDate = Application.InputBox("開始日を入力(例 2007/4/1)", "開始日", Type:=2)  If Not IsDate(myDate) Then Exit Sub  For Each ws In ActiveWorkbook.Worksheets    ws.Range("A1").Value = Format(myDate, "ggge年 m月売上")    myDate = DateSerial(Year(myDate), Month(myDate) + 1, Day(myDate))  Next ws End Sub

reaf
質問者

お礼

分かりやすい回答ありがとうございます。 お礼が遅くなりました。

全文を見る
すると、全ての回答が全文表示されます。
  • ka_na_de
  • ベストアンサー率56% (162/286)
回答No.3

ka_na_deです。 大きな問題ではありませんが、 変数名を間違えました。 NENDO→GENGOU です。 修正しなくても動くとは思います・・・

reaf
質問者

お礼

了解いたしました。

全文を見る
すると、全ての回答が全文表示されます。
  • ka_na_de
  • ベストアンサー率56% (162/286)
回答No.2

おそらくVBA(マクロ)でないと無理だと思います。 一例を示します。 既存の複数のシートを左から  平成19年 4月売上げ  平成19年 5月売上げ     ・     ・ と連番で名前変更します。 '<マクロ> Sub test()   Dim NENDO As String   Dim Y As Integer   Dim M As Integer   Dim St As Worksheet      NENDO = "平成"   Y = 19 '年   M = 4  '開始月      For Each St In Worksheets    St.Name = NENDO & Y & "年 " & M & "月売上げ"    If M = 12 Then     M = 1     Y = Y + 1    Else     M = M + 1    End If   Next End Sub <使い方> 1)下のシート名のタブの上で右クリック 2)「コードの表示」をクリック 3)左側のプロジェクトエクスプローラーで、   VBAProjectのの上で右クリック、「挿入」→「標準モジュール」  (プロジェクトエクスプローラーが表示されていなければ、   上部の「表示」メニューから選択表示できます。) 4)右側に上記のマクロを貼り付けます。   実行は、上部の再生マークボタンを押してください。 <注意>  マクロはやり直しが効かないので、データはあらかじめ  バックアップしてから試してください。

reaf
質問者

お礼

回答ありがとうございます。 参考にさせていただきます。

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

昨日も同じような質問があったが、 シート内の、セルと違って、シート間において、複写で「セルの場合のように、番地の行(や列)を1つつ増やしてくれる機能」はエクセルにはありません。 ですから不可能です。 ーー VBAを使って ユーザー定義関数 Function sidx() sidx = Sheets(ActiveSheet.Name).Index End Function を定義し、 Sheet1の例えばC2に 「="平成19年"&(sidx()+3)& "月"」と入れる。 これをコピーして Sheet2を開いてそのC2に Sheet3のC2 ・・ に貼り付けると Sheet1は平成19年4月 Sheet2は平成19年5月 Sheet3は平成19年6月 ・・ となる。 上記は、月の文字が半角だがJIS関数を入れると全角になる。 ="平成19年"&JIS(sidx()+3)& "月" ー>平成19年4月 ーー ただシートタブの順番を変えると、月の部分が変わるので、使い物にならないであろう。

reaf
質問者

お礼

早速の回答ありがとうございます。 お礼が遅くなりました。

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

関連するQ&A

  • エクセルで12ケ月分のシートに年月日を入力したい。

    エクセルで1月~12月までのシートの其々のシートに、セルAに「平成24年」をセルCに「○月」を 入力するにはどうすればよいでしょうか?教えてください。TODAY・MONTH・NOWなどを試しましたが どうしても上手くゆきません。 どうかよろしくお願いします。

  • エクセルで入力のあるセルのみ別シートに表示したい

    エクセルに関しての質問は多数あったので色々と見てみたのですが、よく分からないので新たに質問をさせて頂きました。。 現在エクセルで、空白のセルを含めてセルに入力を行っています。 ただ、この空白を含めずに入力されているセルのみを抽出して、 別シートで順番に並べて表示したいと考えています。 入力が確認されたセルのみを、別シートで表示したいです。 画像では、同シート内になっていますが、 これを別シートで自動で表示出来るようにしたいです。 エクセル初心者の為、大変お手数おかけいたしますが、 何卒よろしくお願いいたします。

  • Excelでシート1に入力した内容を同時にシート2に表示したい

    初心者です。なにをどう調べたらいいか分からなかったので質問しましたが、過去に同じような質問があったらすいません。  エクセルで、シート1に入力したら、シート2の同じセルの位置に同じ値を表示したいのですが、シート1の更新の度に、シート2にコピーするのもどうかとおもうのでいい方法があれば教えてほしいです。よろしくおねがいします。

  • エクセルでシートにわたり連番を入力する方法

    エクセルのシート1からシート31までの同じセルに日にちと曜日を入力したいのです。シート1に1日と月、シート2に2日と火といったように。簡単に入力できる方法がありましたら教えてください。

  • エクセル 日付を直接入力すると・・・

    エクセルのセルをいくつか結合してそこに直接「平成14年12月13日」などと日付を入力するとします。そのセル内の文字列の位置を中央揃えより少し左右にずらしたくてスペースを入れてずらすやり方でやってみました。ところが「平成14年12月13日」と入力したはずなのにスペースを入れたとたん「2002/12/13」という表示になってしまいます。これはどうしてでしょうか?表示はそのままにしたいので解決策を教えてください。よろしくお願いします。

  • エクセル 日付の関数を入力する方法

    エクセルの関数を使って、以下の表示をするやり方を教えて下さい。 シートを32個用意しています。 (1)エクセルで一つ目のシートのセルに「2009年3月」と入力する ("2009" "年" "3" "月" はそれぞれ別のセルにしています) (2)次のシートに「2009年3月1日」と表示する (3)さらに次のシートに「2009年3月2日」と表示する つまり、最初のシートに「2009」「3」と入力するだけで、 1日から31日まで用意したそれぞれのセルにそれぞれの年月日が 表示されるようにしたいのです。 どなたかエクセルに詳しい方教えて下さい。 宜しくお願い致します。

  • エクセルでシート名をセルに反映させる方法

    エクセルでシート名をセルに反映させる方法 いつも、ここでいろいろ助けられています。 セルにシート名を入れる方法はございますでしょうか。 どういうことかと言うと、同じフォームの表を、月別に作成していますので、毎回、その月の月度をシート内の月度を入力する位置および、シート名の欄に2回入力しています。 これを1回にしたく質問させていただきました。 エクセルのバージョンは「エクセル2007」です どなたかご存知の方よろしくお願いいたします。

  • Excel 日付の入力方法

    Excelで22/3/26と入力すると平成22年3月26日と表示させたいのですが 西暦で読み取り2034年3月26日と表示されます。 これをセルの書式設定のユーザー定義で平成22年3月26日と 表示できるような式はないですか??

  • Excelでセルに入力した条件により、表示を変えるには。

    Excelでセルに入力した条件により、表示を変えるには。 下記の条件を満たすようにするには、どのようにすればいいのでしょうか。  ・シート1のA1に「2010/5/5」と入力したときにシート2のA1に「平成22年5月5日」まで  ・シート1のA1に「200」と入力したときにシート2のA1に「200日」  ・シート1のA1に何も入力しないときはシート2のA1に「  日」

  • Excel 日付がうまく入力できません

    初心者なのでおしえて下さい。 日付がうまく入力できません。 平成18年4月15日と入力するとします。 (セルの書式で分類を「日付」  種類を「平成18年4月15日」に選択) 18/4/15 と入力すると30年4月15日になります。 同じく、19年4月3日と入力したくても 31年4月3日になってしまうのですが、どうしたらうまく入力できますか??

専門家に質問してみよう