• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:不特定な月から12ヶ月単位のシートの作成)

月から12ヶ月単位のシート作成

このQ&Aのポイント
  • 不特定な月から12ヶ月単位でシートを作成する処理について説明します。
  • 現在、指定期間の年度に対してシートを作成する処理を使用しています。
  • 開始の年月をユーザーが選択し、そこから12ヶ月単位でシートを作成することが可能です。

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

  • ベストアンサー
  • FEX2053
  • ベストアンサー率37% (7987/21355)
回答No.2

開始月を変数で受ければ良いってだけの話なんじゃ? 開始月を"Z1"に置いておくとして、 Tsuki = Range("Z1").Value Range("A1").Select Kaishi = Tsuki Do Selection.Value = Cstr(Tsuki) & "月" IF Tsuki = 1 Then Tsuki = 12 Else Tsuki = Tsuki - 1 Selection.Offset(0,1).Select Loop Until Tsuki = Kaishi こんな感じのプログラムで行ける(動作未テストにつきご容赦) と思うんだけど。

enndami34
質問者

お礼

ありがとうございました 12ヶ月単位の表が作れました

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

その他の回答 (1)

回答No.1

ムダに長いね、ホント21、、、 コノヒノモトで、ネンド、といったら4月~翌3月だ、 ダカラ、ネンドを意識した処理をするためには、5月始まりの期間1年なら2年度分のイレモノガ必要、ソレダケ、、、 それとナ、 >2013年5月~2014年5月を1つのシート っうのは、13ヶ月じゃよ、、、

enndami34
質問者

お礼

アドバイスありがとうございます そして例を間違えてしまい申し訳ないです・・・

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

関連するQ&A

  • 不特定な月から12ヶ月単位の表の作成

    現在、指定期間の年度毎に表を作成する処理を使用しています。 2012年4月~2013年3月までを指定すると 2012年度というシートを作成します(2013年1~3月は2012年扱い) シートにはA1に"3月"B1に"2月"C1に"1月"D1に"12月"...と直近の月(3月)が左になるような形で年度の表を作成しています。 これは Range("A1") = "3月" Range("B1") = "2月" Range("C1") = "1月" ・・・という形で固定になっています。 2012年4月~2013年5月までを指定すると 2012年度と2013年度のシートを作成し、3月~4月までの値が固定で入るようになっています。 このため、2012年3月~2013年2月を指定した場合 固定値の為2011年度のシートと2012年度のシートが作成されてしまいます。 これを指定した期間から12ヶ月単位で表を作成したいのですが可能でしょうか? 2012年3月~2013年2月を指定した場合 1つのシートに 2013年2月~2012年3月までの12ヶ月単位の月の値を入れたいのです。(直近の月が左) 2012年1月~2013年5月を指定した場合は 2012年12月~2012年1月 2013年12月~2013年1月 という形で、指定した期間を上回ってもいいのでとにかく12ヶ月単位で区切ってシートを作成したいのです。 値が変動しても、起点から12ヶ月単位の表を作成するのは可能でしょうか? 教えてください

  • 【ExcelVBA】条件付のシート作成

    設定シートの情報       A列     B列 1行目  開始年月  終了年月 2行目  201204   201303 3行目  4(A2の月だけを抜き取り) この2行目のA列B列の値を参照して、12ヶ月のシートを作成する事は可能ですか? 上記の場合は丁度12ヶ月ですが       A列     B列 1行目  開始年月  終了年月 2行目  201204   201210       A列     B列 1行目  開始年月  終了年月 2行目  201204   201310 と、12ヶ月に満たない場合、12ヶ月を超える場合もあります。 12ヶ月に満たない場合は、開始年月を起点として12ヶ月分の年月を記載。 12ヶ月を超える場合は1枚目のシートに開始年月から12ヶ月、2枚目のシートに13ヶ月目から(上記の例だと201304から)また12ヶ月分の値を入力したシートを作成したいです。 起点から12ヶ月単位のシート作成の場合、教わったコードで何とか可能なのですが Worksheets("設定シート").Activate Tsuki = Range("A3").Value Worksheets("12ヶ月").Activate Range("A1").Select Kaishi = Tsuki Do Selection.Value = Cstr(Tsuki) & "月" IF Tsuki = 1 Then Tsuki = 12 Else Tsuki = Tsuki - 1 Selection.Offset(0,1).Select Loop Until Tsuki = Kaishi この場合起点の月からの12ヶ月しか値を入れる事が出来ません。 13ヶ月以上に及ぶ指定範囲の場合、どのように変数に値を持てばいいのでしょうか?

  • 月単位で年月を計算してくれるソフトをさがしています

    例えば、平成1年3月から、平成16年11月までの年月は15年8ヶ月です・・というように、一定の期間の年月を月単位で計算してくれるソフトを探しています。 このようなソフトがあったら教えて下さい。 宜しくお願いします。

  • エクセルで月表示を年表示に変えるには?

    分かる方がいらっしゃったら教えて下さい! エクセルである期間の開始から終了までの月数が表示されています。 例)Aに1992/11/1(開始)、Bに2005/2/1(終了)、Cに147(月数) このCを月の単位ではなく、年の単位に直すにはどうすれば良いのでしょう・・・? 目指しているのは147ヶ月なので、12年と3ヶ月⇒12.03と表示したいのです。 よろしくお願いします!

  • Excelで、既に作成してある月別Sheetを呼び出すマクロを作りたい

    Excelで、既に作成してある月別Sheetを呼び出すマクロを作りたいのですが教えて下さい。 2ヶ月に1回のゴルフ会の成績表を作成するのに、 1月成績、1月転記、3月成績、3月転記というように12のSheetが作ってあります。 当該月分の入力準備表を(Sheet 7月成績)に2ヶ月前の(Sheet 5月転記)のSheetを丸ごとマクロでコピーをしたいのです。  この7月と入力したら、(7月成績)のSheetを呼び出し、コピー元のSheet(5月転記)をマクロに記入出来るように設定したいのです。 例えば、   1(月)と入力したら、    11月転記Sheetから自動コピーの指定        3(月)と入力したら、     1月転記Sheetから自動コピーの指定        7(月)と入力したら、     5月転記Sheetから自動コピーの指定     年間6回の作業となります。 初心者の私が、自動記録でマクロを記入したところ、下記のようになり、同じ作業をするのに各月ごとのマクロ6本を作る必要があり、不便なので何とか1つのマクロで処理が出来ればと思い、その方法を教えて頂ければ幸いです。    Sub Macro1() ' 入力準備表作成 ' Macro1 Macro ' ' Keyboard Shortcut: Ctrl+a ' Sheets("5月転記").Select  ← 7月と入力した場合、自動的に5月転記となるように  Cells.Select Selection.Copy Sheets("7月成績").Select Cells.Select ActiveSheet.Paste Range("E5:F5").Select Range(Selection, Selection.End(xlDown)).Select Application.CutCopyMode = False   ・・・・・・

  • エクセル VBAで 各シートの特定セルの一覧の作成

    エクセル VBAで 各シートの特定セルの一覧の作成について教えて下さい。 同一フォーマットのシート(20~40シート前後)のエクセルファイルが7個ありまして、 こちらの各シートの特定セルのデータを一覧化したいのです。 色々と調べ以下◆で一覧が作成可能となりました。 以下◆では、モジュールに記載した同一ファイルの全シートの 指定セルデータを”一覧”シートに書き出します。 こちらを、一覧データを取得する独立した1ファイルとし、 ”ファイルを開く”のダイアログを表示させ 任意のファイルを指定し、そのファイルの指定セルのデータを一覧化 したいと思っています。 独立した一覧ファイルと、データ元であるファイルは同一フォルダに あるとは限らないので、 自分で選択できる様にしたいのです。 また、シート名は 07nnnn、08nnnnと決められた名前のつけかたなのですが、 一覧化する対象シートを08から始まる名前のシートとしたいのです。 Application.GetOpenFilename("Microsoft Excelブック,*.xls,テキストファイル,*.txt") で”ファイルを開く”のダイアログは開く様になったのですが、 開いたファイルのデータを読んだ結果となりませんでした。 おそらく、書き方が違ったのだと思います。 エクセルは2003を使用しています。 説明不足、情報不足がございましたら、ご指摘願います。 宜しくお願い致します。 ◆----- Sub 一覧作成() Dim sh As Worksheet, r As Range Const sName = "一覧" Worksheets(sName).Cells.ClearContents Worksheets(sName).Activate Range("B3").Select Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select Selection.ClearContents Range("B3").Select Set r = Worksheets(sName).Range("B3") For Each sh In Worksheets If (sh.Name <> sName) Then With sh r.Value = .Name r.Offset(, 1).Value = .Range("H2").Value r.Offset(, 2).Value = .Range("E3").Value r.Offset(, 3).Value = .Range("E4").Value End With End If Set r = r.Offset(1, 0) Next End Sub

  • 既存ワークシートにピボットテーブルを作成するマクロ

    既存のワークシートにピボットテーブルを作成するマクロを登録したいのですが、どうもマクロ実行時には指定した既存シートを参照してくれません。 記録時には既存ワークシートのA1を指定しましたが、VBAで確認すると、TableDestination:=Range("A1")となっています。 恥ずかしながら、VBAは詳しくありません。 TableDestination:=Range("A1")が作成先の指定なのでしょうか? ワークシートに作成するにはどのように指定すればいいのでしょうか?

  • Excelでの派遣売上管理シートの作成について

    Excelで派遣の売上管理シートを作成しようと考えています。 名前|派遣開始日|派遣終了日|月額売上 Aさん|2006/12/11|2007/04/31|400000 Bさん|2007/01/10|2007/03/09|300000 というようなシートがあるのですが、 派遣開始日、終了日、月額売上を入力したら、自動で 名前|2006年11月| 12月| 2007年01月| 02月| 03月| 04月| 05月| Aさん| 0|273684|400000|400000|400000|400000| 0| Bさん| 0| 0|228571|300000|100000| 0| 0| のように月ごとの概算売上を表示するようにするには、どのようにすればよいでしょうか。。 また、月の途中で派遣開始・派遣終了する場合は、”実勤務日/総営業日”を かけた金額を表示したいです。 どうか、よろしくお願いします。

  • 違うシートからリストを作成するには

    97のエクセルです。 リストを作成するために下記のようにマクロを作ってます。(教えてもらいました) Worksheets("sheet1").Range("m21:m100").Validation.Delete Worksheets("sheet1").Range("m21:m100").Validation.AddType:=xlValidateList,_ Formula1:="=$A$1:$A$8" これですと、Sheet1のA1~A8までをSheet1のm21~m100までに繁栄するリストができます。 このA1~A8をSheet2から選択してSheet1のm21~m100に繁栄させるにはどのようにすれば良いでしょうか? また範囲の数字(m21とか)を変数にしたいのですが可能でしょうか? 宜しくお願いします。

  • エクセルでシートごとに作成したものを年度合計する

    いつもお世話になります。エクセル初心者です。全員者が作成したものをどうにか新年度用に作成しようとしています。毎月作成したシートごとになっている同じ形式の月ごと(平成23年4月から3月)月報を同じ様式のシートで年間合計表を作るには、毎月の数値を合計表の同じセルに、12か月分の合計数値として入れるのに一番早い方法はどうすればよいのでしょうか? 教えて頂ければ助かります。よろしくお願いします。

専門家に質問してみよう