午後わてんのブログ

ベランダ菜園とWindows用アプリ作成(WPFとC#)

その32、タイトルつきテキストボックスをアドインの午後のパレットに追加した、外枠も

前回は1週間前

gogowaten.hatenablog.com

の続きに

この前の

gogowaten.hatenablog.com

タイトルつきテキストボックス作成のマクロを

午後のパレットアドインに追加した
 
セルの値を利用して
イメージ 3
こういうのを作るアドイン

f:id:gogowaten:20191018160039p:plain

エクセルのリボンのパレットタブの
Toolグループの午後の道具アイコンをクリックでUserForm1が表示される
 

f:id:gogowaten:20191018160021p:plain

タイトルにしたい値があるセルを選択して「作成」ボタンを押すと
 

f:id:gogowaten:20191018160101p:plain

テキストボックスが作成される
 
詳しくは昨日書いた記事
テキストボックスの横幅はそのままで高さだけ文字列に合わせて調節するマクロ ( ソフトウェア ) - 午後わてんのブログ - Yahoo!ブログ
 

f:id:gogowaten:20191018160111p:plain

空白のセルとかを選択した状態で作成すると
 

f:id:gogowaten:20191018160122p:plain

それぞれ空白のテキストボックスが作成される
 

f:id:gogowaten:20191018160134p:plain

「作成2」ボタンは
 

f:id:gogowaten:20191018160145p:plain

影付きのテキストボックスを作成する


選択セルの上にある図形を選択する

f:id:gogowaten:20191018160155p:plain

選択したいテキストボックスに重なるようにセルを選択してから
「図形選択」ボタンを押すと
 

f:id:gogowaten:20191018160206p:plain

選択セルに少しでも重なっていたテキストボックスが選択状態になる


選択セルにある図形選択のマクロ

Public Sub SelectShapes選択範囲の図形を選択名前編()
    Dim s As Shape
    Dim actSh As Worksheet
    Dim sr As Range, ir As Range
    Dim ShapeNames() As String
    Dim i As Long
    '選択されているのがセル以外ならここで終わり
    If TypeName(Selection) <> "Range" Then Exit Sub
    
    Set actSh = ActiveSheet
    For Each s In actSh.Shapes
        Set sr = Range(s.TopLeftCell, s.BottomRightCell) '今の図形があるセル範囲
        Set ir = Intersect(Selection, sr) '選択せると図形のあるセルが重なるセル範囲取得
        If Not (ir Is Nothing) Then
            ReDim Preserve ShapeNames(i)
            ShapeNames(i) = s.Name
            i = i + 1
        End If
    Next
    
    If i = 0 Then Exit Sub '一個もなければここで終わり
    '図形の選択
    actSh.Shapes.Range(ShapeNames).Select 'ActiveSheet.Shapes.Range(array(名前)).Select
    
End Sub

f:id:gogowaten:20191018160219p:plain



図形選択のマクロ作成で参照したところ
選択したセル範囲に含まれる図形を削除するExcelマクロ:エクセルマクロ・Excel VBAの使い方-マクロのサンプル



テキストボックスの再調整

f:id:gogowaten:20191018160228p:plain

こうなふうにサイズやレイアウトが崩れてしまった時に
再調整したいテキストボックスを選択して「再調整」ボタンクリックで
 

f:id:gogowaten:20191018160238p:plain

まともな感じになる
位置や幅の基準になるのはタイトルのほう
 
 
今思い出した
イメージ 13
午後のパレットで通常モードで枠線を指定できるようにした
水色枠の4つのボタン上下左右の枠線を指定できる
 

f:id:gogowaten:20191018160251p:plain

選択セルの外側にそれぞれ上下左右に枠線
 

f:id:gogowaten:20191018160304p:plain

外枠だけ
 

f:id:gogowaten:20191018160313p:plain

色と線の種類も指定できる
赤の点線にして上と右を押すと
 

f:id:gogowaten:20191018160323p:plain

選択範囲の外側の上と右に赤の点線
 
ダウンロード先
アドインファイル名:午後のパレット_20150613.xlam
 
 
続きは2日後