• ベストアンサー

マクロで今日の日にちをテキストボックスに書く方法を教えてください

どなたか教えてください。 エクセルのマクロを実行すると、 ”テキストボックスが作成され、さらにそのボックスの中に 今日の日にちを書き込む。” 方法を教えてください。

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

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

こんにちは。 一応、こちらで勝手に大きさなど決めさせていただきました。 自動記録マクロで、Wd(幅) と Ht(高さ)を決定してください。 なお、シートに何個か入れるとは思いますが、現在の段階では、選択したセルを左上端として一定の大きさで作られるものにされています。一日に、同じシートひとつしか出来ません。 Sub TodayTextBox()  Dim Lf As Double, Tp As Double, Wd As Double, Ht As Double  Dim myDate As String, shp As Object  myDate = Format$(Date, "yy/mm/dd")  With ActiveSheet   For Each shp In .Shapes    If shp.Type = msoTextBox Then     If InStr(shp.DrawingObject.Text, myDate) > 0 Then      MsgBox "すでに本日のテキストボックスはあります", 64      Exit Sub     End If    End If   Next   With ActiveCell    Lf = .Left: Tp = .Top: Wd = 160: Ht = 180   End With   With .Shapes.AddTextbox(1, Lf, Tp, Wd, Ht)    .TextFrame.Characters.Text = myDate   End With  End With End Sub

VitaminBB
質問者

お礼

回答ありがとうございます。 ばっちりでした。

その他の回答 (1)

  • fly_moon
  • ベストアンサー率20% (213/1046)
回答No.1

今日の日付ならDATE関数で取得できますが、テキストボックスを作るのですか?何処に?何故? 疑問がいっぱいです。 最初から作られているフォームとかあるのですか? それともシートにわざわざテキストボックスを作るのですか? セルに表示するだけなら、マクロでなくセルに =TODAY() と書けば表示されますが。

VitaminBB
質問者

お礼

回答ありがとうございます。 >テキストボックスを作るのですか?何処に?何故? テキストボックスは、アクティブセルに作っても良いし、 A1セルに作っても良いです。 何故?といわれても困りますが、資料にテキストボックスで日付を 書きたいからです。 >最初から作られているフォームとかあるのですか? >それともシートにわざわざテキストボックスを作るのですか? マクロを実行するとテキストボックスが作成され、その中に 日付を入れたいのです。 >セルに表示するだけなら、マクロでなくセルに セルに書きたいのではありません。 以上で疑問に対する回答になったでしょうか?

関連するQ&A