top of page
検索

ものづくり:スケジュール表、第二ステップ テキストボックスのサイズを自動調整

執筆者の写真: Dancing ShigekoDancing Shigeko

更新日:2024年11月11日

 こんにちは、Dancing Shigekoです!


 今日はテキストボックスのサイズを自動調整するように挑戦。


 ChatGPTに相談をして次のプログラムが提案される。


---

Private Sub Worksheet_Change(ByVal Target As Range)

Dim txt As String

Dim tb As Shape

Dim maxWidth As Double

Dim totalHeight As Double

Dim padding As Double

Dim cell As Range

Dim tempShape As Shape

Dim tempWidth As Double

Dim tempHeight As Double

' A1, B1, C1の変更を監視

If Not Intersect(Target, Me.Range("A1:C1")) Is Nothing Then

' テキストボックスが存在するか確認

On Error Resume Next

Set tb = Me.Shapes("MyTextBox")

On Error GoTo 0

' テキストボックスが存在しない場合は作成

If tb Is Nothing Then

Set tb = Me.Shapes.AddTextbox(msoTextOrientationHorizontal, 100, 100, 200, 50)

tb.Name = "MyTextBox"

End If

' A1, B1, C1の内容を取得してテキストボックスに設定

txt = Me.Range("A1").Value & vbCrLf & Me.Range("B1").Value & vbCrLf & Me.Range("C1").Value

tb.TextFrame.Characters.Text = txt

' 一時的なテキストボックスを作成してサイズを計算

Set tempShape = Me.Shapes.AddTextbox(msoTextOrientationHorizontal, 0, 0, 0, 0)

tempShape.TextFrame.Characters.Text = txt

tempShape.TextFrame.AutoSize = True

tempWidth = tempShape.Width

tempHeight = tempShape.Height

tempShape.Delete

' パディングを追加

padding = 10

' テキストボックスのサイズを設定

tb.Width = tempWidth + padding

tb.Height = tempHeight + padding

End If

End Sub

---


早速実行してみると、セルに入力したフォントに合わせて、テキストボックスのサイズが自動で調整されるようになった!


 次は二行目以降でも同じ処理ができるようにしていきたい!


 乞うご期待!



閲覧数:0回0件のコメント

最新記事

すべて表示

国内ドラマ『御上先生』第1話 神に選ばれし子?!

こんにちは、Dancing Shigekoです!  この作品は教育系?  今回は国内ドラマ『御上先生』第1話を紹介します! [内容] #episode1 -destruction-  文部科学省の官僚・御上が官僚派遣制度で初の私立学校に行く。派遣された先は、超進学の隣徳学院...

アニメ『メジャー 第1シーズン』第14話 デッドボール当てるのも当たるのもお互い様?!

こんにちは、Dancing Shigekoです!  吾郎は投げ続けられるのか。  今回はアニメ『メジャー 第1シーズン』第14話を紹介します! [内容] #14 無謀な練習試合  久喜との試合は、吾郎が崩れたまま終わる。小森も監督も、その理由はデッドボールの後遺症なのだと考...

Comments


bottom of page