こんにちは、Dancing Shigekoです!
前回に続きスケジュール表づくり。→前回
いきなり最終形までたどり着くのは難しい。
それであるなら一つずつ進めて行くのがいいと思い立った。
PERT図を自動で出力するためには、まず最低限、テキストボックスを自動で出力できるようにする必要がある。
そこでセルA1、B1、C1に文字列を入れたらテキストボックスが表示されることから挑戦!
VBAで以下のコマンドを入力。
---
Private Sub Worksheet_Change(ByVal Target As Range)
Dim txt As String
Dim tb As Shape
' 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
End If
End Sub
---
これでテキストボックス表示成功!
ところが、このプログラムにはまだ問題がある。
C1に入れた文字はテキストボックスの表示領域外。
次はテキストボックスのサイズを自動で変更するように調整したい!
乞うご期待!
Comentários