テキストボックスを動的に作成・削除

Excelコントロール Tipsメニューに戻る

スポンサードリンク



シートコード

Option Explicit

'カーソルがあるセルにテキストボックスを作成
Private Sub MyMakeCheckBox()
    Dim lRow As Long
            
    lRow = ActiveCell.Row
    With ActiveSheet.OLEObjects.Add(ClassType:="Forms.TextBox.1", Link:=False, DisplayAsIcon:=False)
        .Object.Text = "エクセル"
        .Object.Font.Size = 9
        .Object.BackColor = &HFFFF00
        .Width = ActiveCell.Width * 2
        .Height = ActiveCell.Height * 2
    End With
End Sub

'全テキストボックスを削除
Private Sub MyDeleteeCheckBox()
    Dim tCtrl As Variant

    '全てのコントロール
    For Each tCtrl In ActiveSheet.Shapes
        'コントロールの名前をチェック
        If Left(tCtrl.Name, 7) = "TextBox" Then
            'テキストボックスならば削除
            ActiveSheet.Shapes(tCtrl.Name).Delete
        End If
    Next
End Sub

Private Sub CommandButton1_Click()
    'カーソルがあるセルにテキストボックスを作成
    MyMakeCheckBox
End Sub

Private Sub CommandButton2_Click()
    '全テキストボックスを削除
    MyDeleteeCheckBox
End Sub

スポンサードリンク



実行結果

[作成画面]
テキストボックスの作成結果

スポンサードリンク





Excelコントロール Tipsメニューに戻る

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


関連コンテンツ

Copyright (c) Excel-Excel ! All rights reserved