- ベストアンサー
マクロで今日の日にちをテキストボックスに書く方法を教えてください
どなたか教えてください。 エクセルのマクロを実行すると、 ”テキストボックスが作成され、さらにそのボックスの中に 今日の日にちを書き込む。” 方法を教えてください。
- みんなの回答 (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
その他の回答 (1)
- fly_moon
- ベストアンサー率20% (213/1046)
今日の日付ならDATE関数で取得できますが、テキストボックスを作るのですか?何処に?何故? 疑問がいっぱいです。 最初から作られているフォームとかあるのですか? それともシートにわざわざテキストボックスを作るのですか? セルに表示するだけなら、マクロでなくセルに =TODAY() と書けば表示されますが。
お礼
回答ありがとうございます。 >テキストボックスを作るのですか?何処に?何故? テキストボックスは、アクティブセルに作っても良いし、 A1セルに作っても良いです。 何故?といわれても困りますが、資料にテキストボックスで日付を 書きたいからです。 >最初から作られているフォームとかあるのですか? >それともシートにわざわざテキストボックスを作るのですか? マクロを実行するとテキストボックスが作成され、その中に 日付を入れたいのです。 >セルに表示するだけなら、マクロでなくセルに セルに書きたいのではありません。 以上で疑問に対する回答になったでしょうか?
お礼
回答ありがとうございます。 ばっちりでした。