• ベストアンサー

Excell : 日付を設定するマクロの書き方

マクロの中で、今日の日付を設定する書き方を教えてください。例えば、セル A1に今日の日付を設定する。 A1に =today() を書くのではなくて、today()の返す値を設定するということになります。よろしくお願いします。 Sub test1()    ............ End Sub

  • zuntac
  • お礼率81% (307/377)

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

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.1

こんにちは。 Range("A1").Value = Now() ですか?

zuntac
質問者

お礼

回答ありがとうございます。この方法で解決しました。

その他の回答 (5)

  • WWolf
  • ベストアンサー率26% (51/192)
回答No.6

Sub test() a = Date MsgBox a End Sub これでよろしいでしょうか?

  • WWolf
  • ベストアンサー率26% (51/192)
回答No.5

Sub test() a = Month(Now) & "月" & Day(Now) & "日" MsgBox a End Sub これでよろしいでしょうか?

zuntac
質問者

お礼

回答ありがとうございます。

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.4

No.2です。 間違えました。 ×Time ↓ ○Date

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

エクセルの関数とエクセルVBAの比較で、誤解があるのではないですか。 関数式は=TODAY()と入れると、ブックをオープン するごとに(ストップしておかない限り)再計算されて、当日の日付に変わります。 VBAでもWorkbookOpenなどのイベント・プロセジュアに入れておくとそうなる場合がありますが、そうでなければ、自動実行されることはありません。 実行しても Cells(i, j) = Date の左辺のセルを指定するi,jをその日にふさわしいセルに移動(指定)する(例えば前日書き込みの最終行の次行)ように考えてますので、前の回の日付には上書きしないようにします(出来ます)。 上書きしても良いケースも勿論あり得ます。 使う場合によります。 質問の題意の取り方が狂っている場合はご容赦を。

zuntac
質問者

お礼

回答ありがとうございます。意図は、「セルにtoday()関数を設定する」のではなくて、「セルのtoday()関数の戻り値を設定する」ということでした。

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 TODAY関数の代わりなら、Time関数の方かな。 Range("A1").Value = Time Now関数は、時刻付きなので、ワークシート関数のNOW関数と同じになります。 ま、Nowでも小数点以下を切り捨てれば同じですが。 Range("A1").Value = Int(Now)

zuntac
質問者

お礼

回答ありがとうございます。

関連するQ&A

  • 行コピーして、今日の日付の行に貼り付けるマクロ

    こんにちは、エクセルマクロについて、助けて頂きたく質問させていただきました。 添付しました画像のような表があり、 セルA2に「=TODAY()」が入っていて、セルB2から右は別シートのデータを参照しています。 マクロを実行すると、2行目を行コピーし、セルA3以下の日付からセルA2の日付(今日の日付)を探し出して、行貼り付けしてほしいです。 行コピーや値で貼り付けはマクロの記録を使って、詳しくない私でもなんとか作ることはできるのですが、 今日の日付を探し出して、そこに貼り付ける。というマクロは作れませんでした・・・。 お助け下さい、宜しくお願いします! ※補足します セルA2の今日の日付は便宜上入力しているだけです。無い方がマクロを組みやすいのなら、無くせます。

  • Excelのマクロで基準日から見た日付の前後を判定したい

    Excelのマクロについて質問です。 初歩的な内容かもしれませんが よろしくお願いします。 マクロで日付を扱おうとしたのですが うまくいきませんでした。 ある日付が基準日から見て前の日か後ろの日かを 判定しようとしたのです。 たとえば セルA1に入力した日付が 今日より先ならセルB1に「1」を 後なら「2」を表示しようとして If Range("A1") > "=TODAY()" Then Range("B1") = 1 Else Range("B1") = 2 End If このようにすると セルA1にどのような日付を入れても セルB1は「2」と表示されてしまうのです。 "=TODAY()" の部分に問題があるのでしょうね。 でも、確かこれで今日という日付を 表しているのではなかったでしょうか… 日付はどのように扱われているのでしょう。 回答をお待ちしております。

  • エクセル マクロ 日付の検索

    エクセル2000にて検索のマクロを作っています。 オブジェクト変数またはwithブロック変数が設定されていません。とエラーがでます。 どなたか助けていただけませんか? ”メニュー”シートのAボタンを押すと”スケジュール”というシートの今日の日付のセルにカーソルが飛ぶようにしたいと思っています。 ”スケジュール”シートのR2セルに=today() 関数が入っています。 A列に日付が入っています。 Sub Macro3() Dim r2 As String   Application.ScreenUpdating = False  Sheets("スケジュール").Select  r2 = Range("R2").Value   Selection.Find(What:=r2, After:=ActiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False).Activate End Sub

  • マクロ 日付の内容でセルを塗りつぶす

    セルに記載された日付が、『TODAY以上なら赤色』・『TODAY以下なら青色』・『それ以外なら塗り潰し無し』にしようと下記のマクロを記述しましたが、思うようになりませんでした。どうしたら治るでしょうか?御指導お願い致します。 Sub セルを色で塗りつぶす() Dim C As Integer C = 5 Do While Cells(5, C).Value <> "" With Cells(6, C) Dim Today As Date Today = Date Select Case .Value Case Is <= Today .Interior.ColorIndex = 8 Case Is >= Today .Interior.ColorIndex = 3 Case Else .Interior.ColorIndex = xlNone End Select End With C = C + 1 Loop End Sub

  • マクロについて

    WINDOWS XP EXCELL 2003です。 C2のセルに入力すれば A2のセルに今日の日付が入力されるのみのマクロが下記です Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$C$2" Then Target.Offset(0, -2).Value = Date End If End Sub 御指導を仰ぎたいのは C3 に入力されたら A3 今日の日付 C4 に入力されたら A4 今日の日付 C5 に入力されたら A5 今日の日付 という具合になにかを追加すればと良いと考え調べましたが分かりませんでした。 御指導いたたければ幸いです。 よろしく御願いします。

  • 日付を自動入力する方法

    入力フォームと言うシートの日付列A8からA22(A8からD8まで結合して、このパターンでA22まであります)まで日付を入れるようにしています。右隣の列E8からE22は商品名が入る列です。 今は、下記のVBAで日付のセルを選択して、日付が自動で入るボタンを押して、本日の日付を入力しています。K28には=today()の関数が入っています。 Sub 日付入力()  ActiveSheet.Unprotect  Range("K28").Copy  ActiveSheet.Paste  Application.CutCopyMode = False  ActiveSheet.Protect End Sub これを日付のマクロボタンを押す毎に、A8からA22まで順番に入力できるようにするにはどうすればよいでしょうか? 尚、入力フォームの作成・保存が終わるとA8からA22まですべて、セルの値を消去するマクロボタンを作っています。

  • エクセル VBA 今日の日付を変数にする

    いつまでたってもVBA初心者のものですが 前回は、セルに入力されている日付を変数に利用する場合のことを 聞かしていただいたのですが 今回は、今日の日付を変数に利用する場合はどうすればいいのでしょう? Sub Today() Dim i As String i = Day(Today()) Range("A1").Value = i End Sub こんな感じなんですけど上手くいきません 何から何まで頼りっきりですが、よろしくお願いします

  • 今日の日付をマクロ可したい

    Excel2007を使用しています。 見積書を請求書を仕事で毎回作成しているのですが今日の日付をマクロ可したいと思います。 A11のセルに日付を入力するとC1のセルに今日の日付が入力されるにはどのようなマクロを作成したら良いのでしょうか。 誠に恐縮ですが、ご指導・ご鞭撻の程よろしくお願いします。早々

  • 日付について

    Sheet1のA列に(A1からA365)に2005/4/1から1年間の日付があります。で、H5に今日の日付をいれます。で、I5にmatch(H5,A1:A65,0)といれると、きちんと値が戻ってきます。が、これをVBAで Sub test() mydate = range("H5").value myrow = Application.WorksheetFunction.Match(mydate, Range("A1:A365"), 0) End Sub とすると、アプリケーション定義またはオブジェクト定義のエラーです。 と表示され、できません。 同じ事をしていると思うんですが、違いが分かりません。教えてください。

  • マクロ初心者です。ご指導願います。

    シート上にコマンドボタンを設置し ボタンをクリックしたらセルの「A1」にある日付と今日の日付の 比較を行い、ポップアップを表示するマクロを組みたいのですが セル「A1」の日付がどうしても変数に入らずうまくいきません。 ちなみに日付は【2011/12/12】といった感じで記述されています。 今のところ自分で考えたのは下記までです。 (・・・)の箇所にどのような記述をすれば 【2011/12/12】の日付を入れられるのでしょうか? 宜しくご指導願います。 Private Sub CommandButton1_Click()  myDay = (・・・) If myDay = Val(Day(Now())) Then ' MsgBox "正しい日付です" Else MsgBox "違う日付です" Exit Sub 'マクロの終了 End If

専門家に質問してみよう