Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


10513 / 76734 ←次へ | 前へ→

【71767】Re:コントロールの追加
発言  ichinose  - 12/4/6(金) 19:44 -

引用なし
パスワード
   ▼悩める老人 さん:
こんばんは。
記述されたコードは、コントロールを
動的に貼り付けたコードです。
ユーザーフォームの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 プロジェクトへのアクセスを信頼する チェックをはずしてください。
3 hits

【71765】コントロールの追加 悩める老人 12/4/6(金) 17:45 質問
【71767】Re:コントロールの追加 ichinose 12/4/6(金) 19:44 発言
【71768】Re:コントロールの追加 の追伸 ichinose 12/4/6(金) 19:55 発言
【71770】Re:コントロールの追加 の追伸 悩める老人 12/4/6(金) 20:05 お礼
【71769】Re:コントロールの追加 悩める老人 12/4/6(金) 20:03 お礼

10513 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free