• ベストアンサー

【エクセルVBA】テキストを入れたら日付が別セルに

まだまだ初心者ですが・・・ Dのセルにテキストを入れたら 同じ列のA、B、Cのセルに 順に西暦、月、日付が自動で入るようにするマクロを教えてください。 またDセルを消したら連動してそれらのセルもクリアされるようにしたいです。

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

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

シート名のタブを右クリック コードの表示を選択 VBエディターが起動するので Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 4 Then i = Target.Row If Target.Value = "" Then Range("A" & i).Value = "" Range("B" & i).Value = "" Range("C" & i).Value = "" Else Range("A" & i).Value = Year(Date) Range("B" & i).Value = Month(Date) Range("C" & i).Value = Day(Date) End If End If End Sub コピーして閉じる D列に何か入力したりしてみてください。

mougmoug
質問者

お礼

ありがとうございます! 昔いじったのですが ほとんど忘れてました。 シートのタブでマクロを呼び出せるのは知りませんでした! ありがとうございます。

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

関連するQ&A

  • EXCEL VBA マクロ 日付

    こんばんわ。 EXCEL VBA マクロ の日付について質問があります。 セル"A1"で"年"(例:2008)、セル"B1"で"月"(例:5)を指定します。 C1からC500くらいまで(毎日増えていきます)日付が入っています。 A1、B1で指定した年月と同じC列の日付を 10桁スラッシュ区切りの形式(例:2008/05/15)で 右隣のセル(D列)にコピーしたいんです。 困ったことにC列は形式が決まっているわけではありません。 たとえば、2008年5月15日の場合、 ・20080515・2008年5月15日・2008.05.15・2008.5.15 ・2008/05/15・2008/5/15・08/05/15・2008-5-15 その他、いろいろ考えられます。 これをマクロでやるにはどうすればいいでしょうか。 毎月一回実行します。 日付の形式をチェックするところで やり方がわからなくて困っています。 よろしくお願いします。

  • 自動で日付、曜日を表示した

    エクセルで、例えば A1セルに西暦、B1セルに月を入力すれば A3セルから順に下に日付(1日 2日 3日・・・) B3セルから順に下に曜日(例えば今月なら金 土 日) というように自動的に表示できるようにしたいのですか 可能でしょうか? マクロを使えばいいのでしょうか? 可能ならやり方を教えてください。 よろしくお願いします!

  • EXCELで日付の表示

    お世話になります。 年月日のデータが3つのセルに分かれて入っており、   A   B   C   D   2005   5    1 Dのセルにつなげた日付表示をしたいのですが、 どのようにしたらよいのでしょうか。 ちなみに、セルDに「=CONCATENATE(A1,B1,C1)」と入れたら、 「200551」と表示されました。セルの表示形式を 「yyyy/m/d」としたのですが、変化なく、 セルEに「=TEXT(D1,"0!/00!/00")」と入れたら、 「20/05/51」となってしまいました。 もとデータのB列C列の表示形式を「00」にしてみましたが、 表示は「05」「01」となるのですが、セルD、Eに反映されないのです。 何か良い方法がありましたら、 教えてください。

  • VBA 今日の行にあるセル コピー 別シートへ

    (1)sheet1にボタン button1 があり、そのボタンを押すと、マクロが起動する。 (2)データは sheet2 貼り付け先は sheet3 sheet2 F列に日付が入っています。   F列は、日付(過去~本日まで ※未来の日付はありません)か、空白の場合があります。 F列の日付が本日のとき、 sheet2 A列のセルの値を sheet3 B列へ。  A列には連番。 sheet2 D列のセルの値を sheet3 C列へ。 sheet2 G列のセルの値を sheet3 D列へ。 sheet2 F列のセルの値を sheet3 E列へ。 それぞれ、Sheet3の各行の一番下に貼り付ける形をとりたいのです。 こちらでマクロはどうしたらよいのでしょうか。

  • Excelで日付を抜き出したい

    画像のようにA2~A3に文字列で日付が入力されています。 B2:C3に日付形式でA2:A3に入力されている日付を西暦をつけて抜き出したいと考えています。 B2:C3にはどのような式を入力すればいいでしょうか。

  • VBAでエクセルからのファイル名とテキスト化を自動で実行する方法

    マクロを実行して、エクセルのセルからファイル名とテキストファイルを自動で出力したいのですが、VBA初心者なのでプログラムの書き方がわかりません。 どうかVBAのプログラムの書き方を教えて下さい。 【マクロ実行前のエクセル状態】 1.エクセルのA列にファイル名1を入力 2.エクセルのB列にファイル名2を入力 3.エクセルのC列にテキスト出力させたい文字列を入力 【期待のマクロ動作】 ファイル名1+ファイル名2のファイル名でC列の文字列をテキストファイルで出力。 《例》 A B C 1 2 あ ⇒マクロ実行⇒ファイル名『12』テキスト内容『あ』 3 4 い ⇒マクロ実行⇒ファイル名『34』テキスト内容『い』 5 6 う ⇒マクロ実行⇒ファイル名『56』テキスト内容『う』 7 8 え ⇒マクロ実行⇒ファイル名『78』テキスト内容『え』 ・ ・ ・ ・ 上記の様に、一回のマクロ実行で入力されている列のセル全て がファイル名付きのテキストファイルとして出力をさせたいです。 申し訳ありませんが、よろしくお願いいたします。

  • Excel VBA アクティブセルからある一定のセルまでの範囲選択

    Excel VBA アクティブセルからある一定のセルまでの範囲選択 Excel2003を使用しています。 アクティブセルからC列に『計』と入力されている行の1行上のD列までを選択状態にするマクロを作成しようとしています。 C列に『計』と入力されている行は下記のように複数あるので、アクティブセルの行以下に入力されている次のC列の『計』の1行上までとしたいのですが、どのようにコードを書いたらいいでしょうか? 例えば… A2セルをアクティブにしていてマクロを実行するとA2:D3が選択状態に A7セルをアクティブにしていてマクロを実行すると、A7:D9が選択状態になるように という具合です。 わかりづらくて申し訳ありませんが、よろしくお願いします。    A     B     C     D 1  日付    №   品名    金額 2  1/1     1    ○○○   1,000 3  1/2     2    ×××   1,500 4              計      2,500 5 6 7   1/1     5    ○×○   2,000 8   1/3     6    ××○   1,200 9   1/4     7    ×○○   2,500               計      5,700            :            :

  • エクセルでマクロを用い日付をテキスト化したいのですが。

    エクセルで日付をテキスト化するのに、マクロをつかって自動化させたいと考えています。 以下のようなデータを扱っています。 日付  その他  その他  その他 2007/4/26 2007/4/28 2007/5/12 2007/6/12 こういったデータがあり、日付の列を選択し、置換→200を'200にすることで日付をテキスト化したいと思っています。 マクロを作成中は問題なく、置換し、テキスト化が出来ますが。 一度日付データを消し、日付を入れてマクロを実行すると 4/26/'2007 4/28/'2007 5/12/'2007 6/12/'2007 といった感じで実行され、正しくテキスト化されません。 質問にお答えしていただけると大変ありがたいです。 よろしくお願いします。 ※ちなみにマクロは自動記録方式のみで作っています。VBAは修正程度の知識しかないです。

  • EXCELでマクロを用い日付をテキスト化したいのですが。

    エクセルで日付をテキスト化するのに、マクロをつかって自動化させたいと考えています。 以下のようなデータを扱っています。 日付  その他  その他  その他 2007/4/26 2007/4/28 2007/5/12 2007/6/12 こういったデータがあり、日付の列を選択し、置換→200を'200にすることで日付をテキスト化したいと思っています。 マクロを作成中は問題なく、置換し、テキスト化が出来ますが。 一度日付データを消し、日付を入れてマクロを実行すると 4/26/'2007 4/28/'2007 5/12/'2007 6/12/'2007 といった感じで実行され、正しくテキスト化されません。 質問にお答えしていただけると大変ありがたいです。 よろしくお願い致します。 ※ちなみにマクロは自動記録方式のみで作っています。VBAは修正程度の知識しかないです。

  • VBAの日付について教えてください

    VBA初心者です。 簡単な質問かもしれませんが、教えていただければと思います。 下記のように日付と時間が並んでいる場合に、営業日の最終注文の時間(B列)をF列にコピーしたいのですが、どうもうまくできません。 例えば、2008/1/15では17:10:00をF列にコピーして、2008/1/16では14:05:00をF列にコピーして・・・というマクロを作成したいのです。 どなたか知恵をお貸しください。 よろしくお願いします。  A        B      C      D     E    F            受注時間   品名     個数 2008/1/15   10:50:00    ・      ・   ・ 2008/1/15   12:55:00    ・      ・   ・ 2008/1/15   15:05:00 2008/1/15   17:10:00 2008/1/16   8:52:00 2008/1/16   14:05:00 2008/1/19   11:10:00 2008/1/19  15:15:00 2008/1/21  9:20:00 2008/1/21  9:53:00  ・  ・  ・