• 締切済み

セルの結合後、値を代入したいです

下のような表を作成しています 1行目  2行目・・・日付(yyyy/mm/dd)表示はdd 月ごとに1行目のセルを結合して、〇月と自動で入るようにしたいのですが、VBAで作成できますでしょうか。 2行目の日付は、1日から31日まであるわけではなく、月によって日付の数が違います。 選択した範囲のセルを結合して、下の行の日付から、月を参照して結合したセルにその月を代入することは可能でしょうか。

みんなの回答

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.2

A1は空白、A2に日付(yyyy/mm/dd)(表示はdd)が有ると仮定して、 1.別の列(C列とする)に1行目と2行目のセルを結合して、下にドラッグコピー 2.C1セル(表示はmm"月")に =A1 と記入して、下にドラッグコピー 選択した範囲のセルを結合して、下の行の日付から、月を参照して結合したセルにその月を代入することは、可能です。 なお、上の例は、データはyyyy/mm/ddのままで、表示のみ〇月ですが、データをyyyy/mm/01にして、〇月と自動で表示されるようにしたい場合は、C1セル(表示はmm"月")に =date(year(A1),month(A1),1) と記入してみて下さい。 、

konopotter
質問者

補足

ご回答いただき、ありがとうございます。 私の説明不足で、データ例が分かりづらく、申し訳ありません。 このようなデータになるのですが、可能でしょうか。 A列 B列 C列・・・H列 I列・・・Z列 1行目 セルを結合して月を表示したい行 2行目 日付行  2/1  2  3 ・・・ 8   3/1 ・・・ 26 この場合、1行目のA~H列を結合して、2月      1行目のI~Z列を結合して、3月 と表示させたいです。 ご回答いただいたのに、申し訳ございません。

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

VBAのプログラムをやろうというのだから、やりたい内容を、はっきり文章表現すべきだ。  コード作成の前に、他人に説明できるぐらい、内容を明確に書くこと。 (1)各行の日付はA列にあるのか? (2)複数行のデータがあり、その中には、複数の月のデータがある。そして月ごとに  (データ行的に)まとまっているのか?(A列でソート済み?) 質問には、データ例を、少数でも挙げるべきだと思う。 (3)セル結合は、データの月が替わった行で、1行空白行を挿入し、その挿入行のA列に、表示形式を、月だけの設定するのはどうか。 (4)(3)のように、区分け、見出し的な行を入れると、データベース的には、余分なものが混入するので、望ましくないと思うが。 == セル結合も、結合後のセルに値を代入するのも、簡単なコードだと思う。 何が難しいと思っている点か?

konopotter
質問者

補足

こういった場で質問するのが初めてでして、言葉が足らず、申し訳ございませんでした。 改めてデータ例を記載致します。         A列 B列 C列・・・H列 I列・・・Z列 1行目 セルを結合して月を表示したい行 2行目 日付行  2/1  2  3 ・・・ 8   3/1 ・・・ 26 この場合、1行目のA~H列を結合して、2月      1行目のI~Z列を結合して、3月 と表示させたいです。

関連するQ&A

  • 選択範囲のセルを結合して、値を代入

    画像のような工程表を、作成しております。 4行目のセルを結合して、〇月と表示させたいのですが、可能でしょうか。 5行目の日付は、yyyy/mm/dd で入力しており、表示をddとしております。 この画像ですとG4~AA4、AB4~AW4、AX4~BT4を結合して、5行目の日付から月を参照して、結合したセルに表示させたいです。 4行目の結合範囲は、都度変わるので、選択範囲で結合して、5行目の月を参照させたいのですが、可能でしょうか。

  • VBAでExcelのヘッダーに文字列+セルの値を入れたい

    お知恵を貸してください。 Excelヘッダーについてです。 セルA1に日付が入っていて、この値をYYYY/MM/DDの形でヘッダーにしたいと思っているのですが、この日付の前に「日報」という2文字を必ず入れたいのです。 最終的な形は「日報YYYY/MM/DD」となればよいのですが、これはVBAで可能なのでしょうか。 今まで手入力していたのですが毎日印刷するものなので、自動化したいと思うのです。 よろしくお願いいたします。

  • エクセル 最後尾の値によって以降のセルの値を表示

    エクセルで日付が自動で表示されるファイルを作成しています 開始日が25日から始まる1か月分の日付を表示したいです。 途中で月が変わるため、単純に31日分を表示すると、 前月の日数が29日、30日または31日で終わるかで、 最終日が26日になったり、27日になったりします。 最終の日付は25日を越えたくないため、次の式を作成しました。 =IF(TEXT(A30+1,"dd")<26,A30+1,"") A30のセルに入る数値はyyyy/mm/ddです。 それをTEXTにして、ddの部分が26より小さければ日付表示、大きければ空欄。 と言う具合で作成していますが、30日だった場合、31日だった場合と、 どちらかのケースでしかうまくいきません。 図が無いのでわかりにくいかと思いますが、 どなたか教えていただけませんか?

  • エクセルの日付と時刻の2つのセルの結合の仕方

    下記の日付と時刻の内容のセルの結合(合体表示)をしたいのですができる方いれば教えていただきたいのです。「」(かっこ)内がセル内の表記内容です。 A1に「2009.04.24」 B1に「20:45:00」 と入っていてこれを結合して C1に「2009.04.24 20:45」という表示にするにはどうすればよいでしょうか? 「日付 時刻」のようになり日付と時刻の間は半角1マス開いた形で日付は半角ドット「.」を用いてyyyy.mm.dd、時刻は半角コロン「:」を用いて、秒単位は省略してhh:mmと表示したいのですが、できますでしょうか?

  • エクセルでの値の自動代入

    エクセルでワークシートのセルからでもユーザーフォームからでもいいのですが、違うワークシート上の表(列が項目、行が日付)の当日日付のセルにマクロで作ったボタンを押すと値が挿入されるような方法はありますか? アクセスで値の代入のようにできればいいのですが。 マクロでもVBAでもいいのですが、できる方法はあるでしょうか?

  • エクセル2007 結合セル

    エクセル2007 結合セル 下の画像のようなエクセルシートを 練習用に2枚作成しました。 上段が月の入力フォームで、 下段が各個人の営業成績表です。 ここで、下段の成績表の1行目が B列からI列まで、セル結合されており その中に表題の( 月分)が表示されています。 ここの月の前の空白部分に上段の入力フォームの黄色で 入力した月の数字をを自動的に表示させることはできるのでしょうか。 結合させなければ、簡単にできたと思いますが、 結合している前提で、教えていただけるとありがたいです。 よろしくお願いします。

  • Excel VBAで結合セルに連番を振っていくには?

    Microsoft Excel 2003での質問です。 表を作成しました。 結合セルが複数ある1列に(セル数はまちまち・複数の列には非結合)、連番を振っていく作業をしています。 これをVBAを使って自動化したいのです。 列に連番がすでに入力されている最終行の下のセル(つまりこれから連番が入る空白セル)を選択、 範囲指定し(セル数はまちまちなのでこれは手作業)、 セルを結合させるまではできたのですが、 この結合させたセルに、[(一つ上の結合セル)+(1)]の値を入力させるにはどうプログラムしたらよいでしょうか? わかりにくい説明で恐縮ですが、どなたかご教示ください。

  • ExcelVBAで結合セルのある高さ調整

    ExcelVBAでの質問です。Aはチェック欄、Bは連番、Cは日付、Dは名前、Eは内容を入力。ExcelVBAで以下のような表で「講義」とい う文字を検索してチェックをつけ、ソートするところまではできました。 A B C    D  E   1 5/1  福島  研修   2 5/1 佐藤  集会   3 5/1 鈴木  セミナー ○ 4 5/1 鈴木  講義   5 5/1 山中  集会 ○ 10 5/4 古河  講義   11 5/4 山田 研修   6 5/2 森川  セミナー   7 5/3 山中  研修   8 5/3 佐藤  集会   9 5/3 佐藤  セミナー 上記のようにチェックがある日付順になっています。元々「各行には点線が、日付ごとには太線が引いてあって区別されてしました。それを私が「セル結合解除、B列連番」をして並び替えたために、元々の日付のセルの大きさは崩れ、罫線は太線も点線もごちゃごちゃになったのです。 で・・・お伺いしたいのが「行の高さ調整」について。「5/1は5行なので60、5/4は2行なので27、5/2は1行なので13.5」と高さは決まったいるのですけど、更に日付ごとに「セル結合」する予定なのです。もっと本当の表は複雑で、私がここでは簡略化しているですが、うまく調整できないのです。この表は上の状態から元の表に近づけるべく「日付ごとのセル結合、罫線、行の高さ調整」をする予定です。 とりあえず一番困っているのは、「セル結合する予定の5/1を5行で60にする」方法です。先に「日付ごとにセル結合」をしたら、行の高さを調整するのがうまくできなかったのです。 わかりにくいのですがよろしくお願いします。初心者初心者していてすみません。

  • EXCELで値ではなく表示されている文字を参照

    値ではなく、表示されている文字を参照することは出来ますか? 具体的にはスケジュール表を作りたいのですが、基準となるセルに日付を入力し書式を「ユーザー定義」でmmにしています。それを横のセルに+1で翌日、下のセルに=で書式ddとして日付を連続して入力しています。 その場合、1行目に月が並んでしまうので、月が変わらなければ空欄にしたいのですが、値自体は変わってしまうので条件式が書けません。 実際の値を無視して書式として表示されているものが一致していれば空欄という数式は可能でしょうか?

  • ワード2007でセルの結合

    ワード2007で表を作成する過程で「セルの結合」を行うとその行の罫線が消えてしまいます。 何故でしょうか。

専門家に質問してみよう