AIと戦って、あなたの人生のリスク診断 >>

どなたか教えてください。

エクセルのマクロを実行すると、

”テキストボックスが作成され、さらにそのボックスの中に
今日の日にちを書き込む。”

方法を教えてください。

このQ&Aに関連する最新のQ&A

A 回答 (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
    • good
    • 0
この回答へのお礼

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

ばっちりでした。

お礼日時:2005/07/08 15:24

今日の日付ならDATE関数で取得できますが、テキストボックスを作るのですか?何処に?何故?



疑問がいっぱいです。

最初から作られているフォームとかあるのですか?
それともシートにわざわざテキストボックスを作るのですか?

セルに表示するだけなら、マクロでなくセルに
=TODAY()
と書けば表示されますが。
    • good
    • 0
この回答へのお礼

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

>テキストボックスを作るのですか?何処に?何故?

テキストボックスは、アクティブセルに作っても良いし、
A1セルに作っても良いです。

何故?といわれても困りますが、資料にテキストボックスで日付を
書きたいからです。


>最初から作られているフォームとかあるのですか?
>それともシートにわざわざテキストボックスを作るのですか?

マクロを実行するとテキストボックスが作成され、その中に
日付を入れたいのです。

>セルに表示するだけなら、マクロでなくセルに

セルに書きたいのではありません。

以上で疑問に対する回答になったでしょうか?

お礼日時:2005/07/08 14:49

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング