|
▼悩める老人 さん:
こんばんは。
記述されたコードは、コントロールを
動的に貼り付けたコードです。
ユーザーフォームのInitialize(イベントで行っていますから
ユーザーフォームが表示されている間は、Checkboxが表示されていますが、
ユーザーフォームがUnloadされれば、ユーザーフォームにコントロールは
残りません。よく考えれば、御理解頂けると思います。
>追加したチェックボックスを編集する解決方法をご教示いただければ大変うれしく思います。
Excelバージョンによって設定方法が異なると思いますが、
Excel2002以上では、設定が必要です。Excel2000なら、そのままでよいです。
Excel2002での設定
「ツール」----「マクロ」----「セキュリティ」とクリックし、
セキュリティダイアログを表示させます。
信頼のおける発行元 タブにて、
Visual Basic プロジェクトへのアクセスを信頼する チェックを入れて
OKボタンをクリックします。
設定は、以上です。
対象ユーザーフォーム UserForm1
標準のモジュールに
'=============================================================
Option Explicit
Sub UserForm_add_checkbox()
Dim i As Long
Dim h As Single
Dim chek As MSForms.CheckBox
h = 18
With ThisWorkbook.VBProject.VBComponents("userform1").Designer
For i = 1 To 220
Set chek = .Controls.Add("Forms.checkbox.1", "checkbox" & i, True)
With chek
.Top = i * h
.Left = 10
.Width = 108
.Height = h
End With
.ScrollBars = fmScrollBarsVertical
.ScrollHeight = 221 * h + 10
Next
End With
End Sub
これで試してください。
尚、実行後は、
Visual Basic プロジェクトへのアクセスを信頼する チェックをはずしてください。
|
|