top of page

ものづくり:スケジュール表、第三ステップ 複数行入力できるように!

  • 執筆者の写真: Dancing Shigeko
    Dancing Shigeko
  • 2024年11月9日
  • 読了時間: 2分

更新日:2024年11月11日

 こんにちは、Dancing Shigekoです!


 引き続き、スケジュール表作りに挑戦中。→前回


 自動でテキストボックスを表示させられるようになったので、今度は複数行で同じように入力できるように改造。


 早速、ChatGPTのアドバイスを受けて以下のプログラムに変更。


---

Private Sub Worksheet_Change(ByVal Target As Range)

Dim txt As String

Dim tb As Shape

Dim cell As Range

Dim tempShape As Shape

Dim tempWidth As Double

Dim tempHeight As Double

Dim padding As Double

Dim maxWidth As Double

Dim totalHeight As Double

' A1:C10の変更を監視

If Not Intersect(Target, Me.Range("A1:C10")) 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:C10の内容を取得してテキストボックスに設定

txt = ""

For Each cell In Me.Range("A1:C10")

If cell.Value <> "" Then

txt = txt & cell.Value & vbCrLf

End If

Next cell

' 最後の改行を削除

If Len(txt) > 0 Then

txt = Left(txt, Len(txt) - 2)

End If

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

---

 

 さて、実際に入力してみた。


 ところが・・・

 二行目のセルの内容も同一のテキストボックスの中に表示される。


 期待していた作りにならなかったので、再調整。


 このあと、だいぶ苦戦するのであった。


 挑戦はまだまだ続く。


 乞うご期待!



最新記事

すべて表示
ものづくり:ExcelからPDF変換

こんにちは、Dancing Shigekoです!    作ってみたいものを思い出した。  それはExcelをPDFに変換するときの文字切れ防止ツール。  職場でExcelを使って文章作成しているものが多い。  それが最終的にPDFに変換されて承認回覧されるのだけれど、文字が切れていることが多々ある。  そう言った事態をなんとか打破したい。  生成AIの知恵?を借りて、文字切れ防止策をなんとか実現し

 
 
 
ものづくり:毎日使っている自動化ツール

こんにちは、Dancing Shigekoです!  Wixの自動転記機能やnoteの下書き作成ツール、この二つは日々愛用している。  そしてふと思う。  同じものをまた作ろうとしても作れるのだろうかと。  自分はどうやってこのインプットをして作り上げたのだろうかと。  今、Xへの自動投稿を準備しているけれど、果たしてこれは作れるのだろうか。  いかに作業を分解して落とし込めるか。  そこにかかって

 
 
 
ものづくり:X自動投稿検討 小休止

こんにちは、Dancing Shigekoです!    週末のものづくり。  もう少し進めたかったものの、外出したため、その後の進展はなし。  ただ日に日に、このXへの投稿の自動化を早いこと実現したい、気持ちが加速。  この処理が自動化できたら、だいぶプライベートでの作業は楽になると信じている。  あまり時間かけすぎずにサクッと実現できるのがいいのだけれど、片手間でできる内容ではないのかな、という

 
 
 

コメント


© 2023 サイト名 Wix.comを使って作成されました
当サイトの内容、テキスト、画像等の無断転載・無断使用を固く禁じます。

 
 
bottom of page