• ベストアンサー

指定セル値に当月1日を翌月まで維持

B1セル変更によってマクロを実行したくB1セル値に月が変わったら当月1日が入力され翌月初日切替りまでB1セルに当月/1を入力維持させたいのですがVBAコードが解る方宜しくお願いします。(B1セル当月/1,B2セル当月/2,B3セル当月/3~を入力したいためです)

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

  • ベストアンサー
  • Nouble
  • ベストアンサー率18% (330/1783)
回答No.2

書き込み自体は 当月月初の、場合 ActiveSheet.Range("B1")Value = DateAdd("m", 0, date_org) 翌月月初の、場合 ActiveSheet.Range("B1")Value = DateAdd("m", 0, date_org) で、行けそう ですので http://www.relief.jp/itnote/archives/excel-vba-dateadd.php 後は、 書き換えられたら、自動で の、実現ですね http://excelvba.pc-users.net/fol3/3_6.html を、ご覧になり Worksheet_SelectionChange を、選ばれれば いい、 と、思いますよ 因みに http://dev.classmethod.jp/clerical/excelvba-event/ で、 イベントプロシジャの、記載は 此は、如何ですか? http://excelvba.pc-users.net/fol3/3_6.html 此方もご参考に http://excelvba.pc-users.net/func/func4.html 如何で、しょうか? 此は、 お役に、立てましたか?

kuma0220
質問者

お礼

有難うございます。

その他の回答 (3)

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.4

話が良く見えません。 ・まず、「セル」「VBA」等の言葉が出てくるので、Excelの話で宜しいですね?Excelのバージョンは何でしょう? ・質問文ではマクロを実行するきっかけが解りません。B1を人が更新したら実行ですか?それともブックを開いたタイミングでB1以下に当月の日付を1日~月末日まで入れれば良いのですか? ・人が更新する場合、B1に入るのは2017/4/1の様な日付データ(日付は1日)で良いですか? ・内容としてはセル式で十分対応できそうですがマクロにする必要がありますか?

kuma0220
質問者

お礼

回答有難うございます。

  • Nouble
  • ベストアンサー率18% (330/1783)
回答No.3

失礼しました 記載ミスです 謝罪の上 訂正させてください 誤記 翌月月初の、場合 ActiveSheet.Range("B1")Value = DateAdd("m", 0, date_org) で、行けそう 正記 翌月月初の、場合 ActiveSheet.Range("B1")Value = DateAdd("m", 1, date_org) で、行けそう 済みません

kuma0220
質問者

お礼

有難うございます。

  • hawa254
  • ベストアンサー率43% (259/589)
回答No.1

VBAでなくてもセルの書式設定と式入力で対応できると思いますが。

kuma0220
質問者

お礼

回答有難うございます。

関連するQ&A

  • 各セルに、翌月、前月、翌々月・・・当月を表示したい。

    質問 です セルE3に翌月を表示し、F3に前月を表示し、セルG3に翌々月を表示し、セルH3以降はO3まで一月ずつ加算し、セルP3は当月を表示する方法を教えてください。(セルE3からP3までのセルの表示を「日付」にし、それぞれに関数を入れれば済みますか。そうでしたら、その関数を教えてください。VBAが必要でしたら、その部分を教えてください。) 月が替わる都度、自動で各セルも繰り上がるようにしたいのです。 例 です 今月が8月ですので、セルE3には『9月』と表示し(『』は表示しません)、セルF3には『7月』と表示し、G3には『10月』、H3には『11月』・・・O3には『6月』と表示し、P3には『8月』と表示させたいのです。 そして、日数が過ぎて9月に入った場合は、自動でセルE3には『10月』と表示させ、以降のセルも計算により繰り上がった月表示させたいのです。 状況と理由 です エクセル2002を使用しています。 [データ]-[入力規則]-[リスト]を使用して、セルに簡単に入力できるようにしています。 そのセル(セルA3)に入るのは、月です。 リストはセルE3、F3、G3、H3・・・P3に入力しています。 現在は手入力でテキスト形式で入力しています。 頻繁に使うのは翌月と前月です。 リストを使うと、候補の一番上はセルE3に表示されているもので、その下にはセルF3に表示しているものが来ます。 そこで、常に自動で並べかえられるならば、便利だと思ったのです。 よろしくお願いします。

  • VBAで当月の1日を表示するにはどの様なコードを使えば宜しいのでしょうか

    VBAでシートAのセルA1に当月の1日を表示させたく思います。 Sheets("A").Range("A1") = Date を使用し、本日の日付を表示させることは判ったのですが、この日付に含まれる月の初日(1日)を表示させる方法をご存知でしたら教えて下さい。 宜しくお願い致します。

  • セルで指定した名前のテキストファイルをインポートするマクロの作り方

    例: A1セルに5,B1セルに1を入力。(5月1日を表しています) その後マクロを実行し、0501.txtという5月1日に相当する テキストファイルをインポートするというものです。 該当のフォルダ内には各日付ごとのテキストファイルが 複数存在しており、インポートしたいテキストファイル をエクセルファイルのセル上で指定するのが目的です。 インポートするファイル名を固定しないというマクロの 作り方がわかりません。 どうぞよろしくお願いします。

  • VBA セルの値を別セルにコピーするには

    VBAでPastespecialでセルの値を別セルにコピーするマクロを組みたいです。 以下は参考にしたソースコードです。 Worksheets("Sheet1").Range("A1:B10").Copy Worksheets("Sheet2").Range("A1").PasteSpecial _                  Paste:=xlPasteValues, _                  Operation:=xlNone, _                  SkipBlanks:=False, _                  Transpose:=False あるExcelマクロの入力フォームSheetに、製品リストと使用している場所のマスタデータをクエリで読み込んで、製品IDと場所のコードを入力したらINDEX関数で抽出し、マクロ実行ボタンを押すと抽出結果を入力フォームの入力欄に貼り付けします。 上記のマクロだと貼り付けする元セルを移動させたら内容がずれた値がそのまま貼り付けされてしまうと思われますが、地道にコードのコピー元のセルを書き直さないといけないのでしょうか。 Excelの関数だと参照範囲を固定したら掴んで移動させてもセル番地が連動して移動してくれますが、マクロの場合どのようにすれば良いでしょうか。 また、複数個所のセルをコピーするので Paste:=xlPasteValues, _ Operation:=xlNone, _ SkipBlanks:=False, _ Transpose:=False をコピーするセルの箇所に毎回入れていますが、コピー元のセル・コピー先のセル番地を一括して実行する方法はありますでしょうか。 VBAはソースコードを参考に当てはめているだけで、自力でコードを書くスキルは皆無です。 Excelは2016です。 詳しい方いましたらご教授ください。よろしくお願い致します。

  • 指定のセルに入力したら指定のセルを自動で削除したい

    A1セルに入力があればD5セルが削除されるといったマクロは どのようなコードを書けば良いのでしょうか?;お力を貸していただければ助かります;

  • エクセルVBAで複数のセル入力からそれぞれの画像を指定したセルに貼り付け

    複数のセル入力時のたびに自動実行されるイベントマクロを使い、それぞれの入力値と同じ画像を決まったセルに貼り付けようとするVBAをつくろうとしています。 画像サイズ加工(サイズ調整、トリミング)は同じものとします。 更に、画像がないセルに関しては、画像が挿入されるそれぞれのセルに ”画像登録がありません”と表示される。 入力セル=B3:B10 画像挿入セル=F2,F9,F16,F23,F30,F37,F44,F51 できれば、勉強の為に’コメント説明付のご回答をお願いします。

  • 当月徴収

    どなたかお教えください。 当月徴収と翌月徴収が混在しても良いのでしょうか。 たとえば、、、、   (介護保険料) -当月徴収 昭和40年2月8日生まれの方の場合、2月の給与で介護保険料を控除して、3月31日に納付する。 -翌月徴収 3月改定の介護保険料率を適用するのは4月の給与からとし、給与から控除し、4月末に納付する。 (厚生年金料) -当月徴収 新料率を適用するのは10月からとし、10月の給与から新料率で徴収し、11月末に納付する。 -翌月徴収 月変で11月から月額が変更した場合に12月の給与から新しい月額で計算された11月分の保険料を控除し 12月末に納付する。 以上のように統一がとれていない?ようなケースはok なのでしょうか。よろしくお願いいたします。 どれも納付金額は同じなのですが良いのでしょうか?

  • 複数指定セル値と合致したセル値を返す

    A,B,C列に添付の値が入力されておりセルE2の値とF2~F7の値が両方一致したものがA,B列にあればC列の値をG列に順々に入力していきたいのですが。 どなたか関数が解る方、欲をいえばVBAコードが解る方ご教授願います。

  • エクセルの「新しいマクロの記録」で相対的にセルを指定するには?

    基本的にマクロの知識はなく、「新しいマクロの記録」で記録したものを使うことしかできないレベルです。 現在カーソルがあるところをA1のセルとします。 マクロの記録を開始して、B1を指定し、計算式等を 入力します。で、マクロの記録を終了します。 希望としては、現在A2にカーソルがある状態で マクロを実行すると、B2に同様の計算式が入力されて 欲しいのですが、そのままやってしまうと、再度B1に データが入力されてしまいます。 どこかに相対的にセルを指定できるようなオプションが あったと記憶しているのですが、探し出せません。 ご存じの方教えてください。

  • エクセルVBAについてお尋ね致します。数式が入力されたセルを異なるセル

    エクセルVBAについてお尋ね致します。数式が入力されたセルを異なるセルの条件によって「値」のみ残す方法を模索しております。 使用する列および行の例 列=A、B  行=5~10、15~20、25~30(A列、B列共通) 上記対象セルの内訳 A列(参照セル)=数値 ※空欄の場合もあります B列(変更セル)=数式(Aセル数値 * ○○%) ※B1セルの例:=IF(A1="","",A1*10%) のような数式が記入されております。 (例) Private Sub CommandButton1_Click() ’参照セルの指定 ("A5:A10","A15:A20","A25:A30") のようなコード*** ※現在はAセルの範囲としておりますが、後に変更の可能性を有しますので範囲指定が可能な形式を望みます。 ’変更セルの指定 セル指定のコード*** ※現在はBセルとしておりますが、これも後に変更の可能性を有しますのでA・B・Cのような入力(もしくはA=1、B=2、C=3)による指定可能な形式を望みます。 ’参照セル(Aセル)に数値が入力されている場合、数式から得られた変更セル(Bセル)の値を”値のみ”で残す。 実行コード*** ※参照セル(Aセル)が空欄の場合は変更を望まないので、変更セル(Bセル)は何も致しません。(数式のまま残す) End Sub このようなマクロを望んでおります。 イメージとしては数値がAセルに入力されていた際に同じ行のBセルにおいて右クリックコマンド内〔コピー〕 → 〔形式を選択して貼り付け〕 → 〔値〕の貼り付けを行うことをご想像下さい。 列や行の変更が予想されるので変更が可能なことを望んでおりますが、結果が伴えば他の体裁は気に致しません。 お手数ですがご教授宜しくお願い致します。 以上