Excel VBA質問箱 IV

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

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


63918 / 76738 ←次へ | 前へ→

【17409】Re:以前の記事から
発言  ichinose  - 04/8/28(土) 22:14 -

引用なし
パスワード
   ▼Kobasan さん:
こんばんは。
>ChecBox1〜3を列C,B,Dに対応させて、
>>チェックされたら列を非表示にする
>>チェックがとれたら列を表示する
>>を今までのクラスモジュールを利用して記述するとどうなるのですか。
>CheckBoxの番号と列との関係づけが難しいです。

クラスモジュールに↑の情報も登録しておかないとわかりませんよね?
私は、この手の処理ではコレクションは使用しないので
とりあえず、私流の方法で・・・。
以下に記述するコードは、
userform1に
Checkbox1、Checkbox2、Checkbox3の3つのコントロールを貼り付けて下さい。

Userform1のモジュールに
'==============================================================
Private mycls(1 To 3) As Class1
'==============================================================
Private Sub UserForm_Initialize()
  For idx = 1 To 3
    Set mycls(idx) = New Class1
    With mycls(idx)
     .id = idx
     Set .chk = Controls("checkbox" & idx)
     End With
    Next idx
End Sub
'ご提示されたコレクションでも同じ処理はできますから
'考えてみて下さい

'クラスモジュール(Class1)では
'================================================================
Public WithEvents chk As MSForms.CheckBox
Public id As Long
'================================================================
Private Sub chk_Click()
  Columns(Array("b", "c", "d")(id - 1)).Hidden = chk.Value
'チェックボックスと列との対応が記述どおり"c","b","d"ならArrayの中の順序を
'変更してください
End Sub


確認してみて下さい。

0 hits

【17389】以前の記事から Kobasan 04/8/28(土) 8:39 質問
【17390】Re:以前の記事から ichinose 04/8/28(土) 9:03 発言
【17392】Re:以前の記事から Kobasan 04/8/28(土) 9:38 お礼
【17405】Re:以前の記事から Kobasan 04/8/28(土) 21:41 お礼
【17406】Re:以前の記事から Kobasan 04/8/28(土) 21:46 質問
【17407】Re:以前の記事から つん 04/8/28(土) 22:04 回答
【17410】Re:以前の記事から ichinose 04/8/28(土) 22:25 発言
【17409】Re:以前の記事から ichinose 04/8/28(土) 22:14 発言
【17414】Re:以前の記事から Kobasan 04/8/28(土) 23:41 お礼
【17393】Re:以前の記事から 角田 04/8/28(土) 9:55 発言
【17400】Re:以前の記事から Kobasan 04/8/28(土) 13:48 お礼

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