• ベストアンサー

VBAで月の日数を表示させたい

EXCEL2000でVBAを作成しています。 シートのセルに =EOMONTH(T4,1) という公式がはいっています。表示は平成17年10月分になっています。 ここのセルの日付に応じて月日数を表示したいのです。 何をしたいかというと 単価×31(月の日数)の計算をするため月日数をセルに自動入力したいのです。 よろしくお願いします。

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

  • ベストアンサー
  • masa_019
  • ベストアンサー率61% (121/197)
回答No.1

月日数を入力したいセルに  =DAY(EOMONTH(T4,1)) と 数式を入れれば済みそうに思いますが、 そういうことではないのでしょうか?

aitaine
質問者

お礼

今慎重にやりなおしたらできました。ありがとうございました。

aitaine
質問者

補足

今ためしてみましたが、月によって日数が変化しませんでした。私のやり方がまずいのかも・・。

その他の回答 (1)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 単価×31(月の日数) この「31」という変化する数字を求めるわけですね。 その式の入力されているセルをActiveCell とするなら、  LastDateMonth = Day(ActiveCell.Value) または、元の入力から計算する場合は、  buf = Range("T4").Value  buf2 = DateSerial(Year(buf), Month(buf) + 2, 1)  LastDateMonth2 = Day(buf2 - 1) 違っていたら、教えてください。また、考えます。

aitaine
質問者

補足

今ためしたらコンパイルエラー 変数が定義されていません。とでてしまい。対応がわかりません。も少し説明しますとT4には請求日を自由に入れます。N2には =EOMONTH(T4,1) という式が入ってます。そして表示したいL12には月日数を入れたいのです。つまり請求日の翌月の月日数に単価を掛けて請求するわけです。説明不足すいません。

関連するQ&A

  • EXCELの日数計算

    各セルごとに平成 23 年 12 月 20 日 から 平成 23 年 12 月 25 日と15のセルに入力されたシートですがこれの日数を出すのはどうしたらいいでしょうか 教えてください。EXCEL2007を使用しています。

  • 行程期間の月毎の日数を出す方法

    【状況】 4年分の作業工程表を作成しています。 期間を入力すると作業工程表に黒い色が設定されるように条件付き書式が設定されています。 【やりたいこと】 それぞれの月のセルに期間の日付を表示させたいです。 2024年1月は、1回目の作業の日数16日と2回目の日数の6日を足して21日と表示したい。 3回目の作業は2024年2月15日~3月28日、2月はうるう年なので14日と表示 3月のセルには29日と表示したい。 期間を求めるのは、datedif関数を使用するとよいのだと思いますが、1回目の作業工程と2回目の作業工程が同じ月なら合計しないといけないのとうるう年が絡んでくると何をどうしたらよいのかわからないです。 別シートに計算用のシートを作成しようと思いやってみたのですがうまくいきません。 VBAを使わずに計算式で作成したいと思っております。 ご存じの方がいらっしゃいましたらご教示お願い致します。

  • EXCELで残りの日数を表示させたい 2

    EXCEL2010使用 各月ごと シート別 フォーマットを作成しております。 日付 は5/1と入力 表示形式で 日にちだけ表示 曜日 は日付のセルを参照させ 表示形式で 曜日を表示 別シートに営業 休日 日を”祝日”と名前を付けて、そこがピンク色になるように 条件付き書式を設定しています。 ここで本題、 残り日数というのを自動で算出できないでしょうか? 休みは 日曜、祝日 研修日などランダムでございます。 今は手入力で残り日数だけ入れています。

  • EXCELで残りの日数を表示させたい

    EXCEL2010使用 各月ごと シート別 フォーマットを作成しております。 日付 は5/1と入力 表示形式で 日にちだけ表示 曜日 は日付のセルを参照させ 表示形式で 曜日を表示 別シートに営業 休日 日を”祝日”と名前を付けて、そこがピンク色になるように 条件付き書式を設定しています。 ここで本題、 残り日数というのを自動で算出できないでしょうか? 休みは 日曜、祝日 研修日などランダムでございます。 今は手入力で残り日数だけ入れています。

  • 書式設定が日付のもの同士を計算させたい(遅延日数を表示させたい)

    こんにちは。今、お仕事でこのようなことに直面しております。使用しているものはExcel2000です。    A  B 1 予定 6月8日   ←入力されている情報 2 確定 6月18日   ←入力されている情報 3 遅延日数 10日    ←セルB3 の結果を自動計算して出力出来るか? という問題です。 例題のようにたかだか10日くらいのものでしたら問題ないですが、下記のような可能性があるため、考慮しなくてはならない事柄があります。 ●西暦表示はさせずに ○月×日 としたいが、年月をまたがる計算も有り得ること。  (EX: B1セル→2004年12月25日 B2セル→2005年4月8日) ●セルB3の回答が32日以上の場合は ○ヶ月×日 というように出力したい。 書式が数値ではなく日付なのだから計算なんて出来るのかな?なんて思いつつデータの量が1sheetに6000件あります。さすがに自動計算させたくて…。 お手すきのお方、いらっしゃいましたら宜しくご教授くださいませ。

  • Excelでの日数計算、表示の仕方

    Windows98、Microsoft Excel2000を使っています。 エクセルで料金計算のシートを作成していて、いつからいつまでという日数によって料金が違うので、日数を「2002/10/1」から「2002/10/5」までの「5日まで」というふうに計算して「5」という数字を表示させるようにしています。ここまではいいのですが、これが40日を過ぎるとさすがに「○日」という表示では分かりにくくなるので「1ヶ月まで」、「2ヵ月まで」と表示させたいのですが、出来るのでしょうか? 例えば、「2002/10/1」から「2002/12/1」までの「2ヶ月」というかんじで、今まで「何日」という日数を計算していたものを「何カ月」と出来ないでしょうか? “セルの書式設定→表示形式”のところで何かすればいいのでしょうか?? 説明がわかりにくいかもしれないのですが、宜しくお願いいたします。

  • 営業日数を自動計算をしたいのですが

    エクセル2003を使っています。 シート1に営業日数、シート2~に表示形式の日付で1ヶ月分の日付を入力しています。 これをシート2~の1ヶ月分の営業日数を自動的にシート1に入力できるようにしたいです。 休みの日はセルをオレンジで塗りつぶしています。 何かいい方法はないでしょうか? よろしくお願いします。

  • VBAでのDATEについて

    よろしくお願いします。 y年m月の月末日を求めるとき、ワークシート関数(EOMONTHを使わないとして)では、 =date(y,m+1,1)-1     翌月1日の前日 として求められますが、VBAではどのように書くのでしょうか?VBAで使えそうな日付関数を調べたのですが、よくわかりませんでしたので。

  • Excel97でセルに初期値を入れとくには?

    windows98でExcel97を使っています。 ひとつのセルに" 平成  年 月"と表示しておいて,そのセルに日付を"2002/10"と入力したら、和暦の"平成14年10月"というように表示したいのですが、一つのセルで出来ますでしょうか? マクロ、VBAは使用したくありません。お知恵を貸してください。

  • Excel2003、VBAにて。

    Excel2003、VBAにて。 シートを自動で追加し、追加したシートのA1セルに全シート数を設定する方法が分かりません。 どなたか教えてください。

専門家に質問してみよう