図形を使ってみました!
今回も訪問して下さり、ありがとうございます。
佛教大学で非常勤講師をしている関係で、授業の為の細かな工夫をしています。
以前に紹介したコメントの中に数式を表示させるVBAの続きです!
前回はここまで出来ました!
でも、大学の授業ではこれでも少し見にくい場合があるかもです。
(現場では、色々と予期せぬ事態が起こりますからねぇ)
もう一工夫してみようと思います。
Wordでさんざん図形をいじってるので、図形を駆使したいと思います。
「まずこんな感じにしたい」を表示します。
図形の中にコメントより大きな文字で数式を表示させたいと思ってます。
コメントの中に数式を入れるVBAはもちろんアドインに組み込んでます。
「Ctrl+Shift+Q」でコメントの中に数式を表示させるようにしました。
今回は「Ctrl+Shift+E」で上記の図形の中に数式を表記させたいと思います。
それでは行きまーす!
※今回はショートカットキーの作り方は省略します。(別で紹介しようと思います)
良く使う 汎用マクロの場合はショートカットキーを割り当ててます。
Sub zukeisuushiki()
On Error Resume Next
Dim t As Shape
For Each t In ActiveSheet.Shapes
On Error Resume Next
Dim t As Shape
For Each t In ActiveSheet.Shapes
If t.Name = "シェイプ四角" Then
t.Delete
Else
End If
Next t
t.Delete
Else
End If
Next t
Dim tshape As Shape
With ActiveSheet.Range("I2:O5")
Set tshape = ActiveSheet.Shapes.AddShape(Type:=msoShapeRoundedRectangle, _
Left:=.Left, Top:=.Top, Width:=.Width, Height:=.Height)
ActiveSheet.Shapes(1).Fill.ForeColor.RGB = RGB(194, 194, 194)
ActiveSheet.Shapes(1).Line.ForeColor.RGB = RGB(0, 0, 0)
tshape.Name = "シェイプ四角"
End With
Set tshape = Nothing
Call zukeiText
Call zukeiText2
Call zukeiText3
End Sub
With ActiveSheet.Range("I2:O5")
Set tshape = ActiveSheet.Shapes.AddShape(Type:=msoShapeRoundedRectangle, _
Left:=.Left, Top:=.Top, Width:=.Width, Height:=.Height)
ActiveSheet.Shapes(1).Fill.ForeColor.RGB = RGB(194, 194, 194)
ActiveSheet.Shapes(1).Line.ForeColor.RGB = RGB(0, 0, 0)
tshape.Name = "シェイプ四角"
End With
Set tshape = Nothing
Call zukeiText
Call zukeiText2
Call zukeiText3
End Sub
Sub zukeiText() 'text文字を数式にする
ActiveSheet.Shapes(1).TextFrame.Characters.Text = Selection.Formula
End Sub
Sub zukeiText2() 'textフォントサイズを大きくする
ActiveSheet.Shapes(1).TextFrame.Characters.Font.Size = 44
End Sub
Sub zukeiText3() 'text自動調整させる
With ActiveSheet.Shapes(1)
With ActiveSheet.Shapes(1)
.TextFrame.Characters.Text = Selection.Formula
.TextFrame.AutoSize = False
Selection.Font.Size = Selection.Font.Size
.TextFrame.AutoSize = True
End With
End Sub
.TextFrame.AutoSize = False
Selection.Font.Size = Selection.Font.Size
.TextFrame.AutoSize = True
End With
End Sub
何とか目的を達成できました!!
VBAを頭のスポーツとして楽しんでいます。コードの見苦しさなどお許し下さい。
図形に名前を付けて、目的の図形のみ削除しています。
そうすることで、コメントには影響なく図形を表示出来ました。
もちろん上記では、コメントを出さずに数式入りの図形のみ表示することも可能です。
コメントの中に数式を表示する感じで図形の中に数式を表示してみました。
「これでも小さい!」「まだ、見にくい」と言われたら....。
また改めて、工夫しなくちゃですね。
VBAで図形を取り扱うって、結構頭使いますね(汗)
今回も、最後までお付き合いいただきありがとうございました。