Excel VBA質問箱 IV

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

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


62917 / 76732 ←次へ | 前へ→

【18415】Re:ラベルのクリックを取得するには 追伸
発言  Kobasan  - 04/9/22(水) 22:04 -

引用なし
パスワード
   ponponさん、こんばんは。

角田さんのホームページ「擬似の脱却」
http://www.h3.dion.ne.jp/~sakatsu/Breakthrough_P-Ctrl_Arrays.htm
で勉強し、
Ichinoseさんのコード【18245】を参考にして、勉強用に自分なりに分かりやすくつくりました。
また、この質問箱でTextBoxの扱いもIchinoseさんに質問して教えてもらいました。
少しクラスモジュールが使えるようになった程度ですから、不十分かもしれません。
分かりやすければ参考にして下さい。
必要に応じて、標準モジュールとUserform1のモジュールのLabelの数、TextBoxの数
を変えて下さい。

'■■標準モジュール
Public copydata As Variant '<==標準モジュールに記述すると機能する

Sub test()
  UserForm1.Show
End Sub

Sub ResetColor()
Dim i As Long
  For i = 1 To 30 '<==Labelの数30
    UserForm1.Controls("Label" & i).ForeColor = &H0  '色復元
  Next i
End Sub

'■■Userform1のモジュール
Private FrmLabel(1 To 30) As New Class1   '<==Labelの数30
Private FrmTextBox(1 To 42) As New Class2  '<==TextBoxの数42

Private Sub UserForm_Initialize()
Dim i As Long
  For i = 1 To 30   '<==Labelの数30
    With FrmLabel(i)
      .Item = Me.Controls("Label" & i)
    End With
  Next i
  '
  For i = 1 To 42   '<==TextBoxの数42
    With FrmTextBox(i)
      .Item2 = Me.Controls("TextBox" & i)
    End With
  Next i
End Sub

Private Sub UserFom_Terminate()
  Erase FrmLabel
  Erase FrmTextBox
End Sub

'■■Class1 のモジュール
Private WithEvents MyCtrl As MSForms.Label

Public Property Let Item(NewCtrl As MSForms.Label)
  Set MyCtrl = NewCtrl
End Property

Private Sub MyCtrl_Click()
  ResetColor
  MyCtrl.ForeColor = &HFF   '赤色
  copydata = MyCtrl.Caption
End Sub

'■■Class2 のモジュール
Private WithEvents MyCtrl2 As MSForms.TextBox

Public Property Let Item2(NewCtrl As MSForms.TextBox)
  Set MyCtrl2 = NewCtrl
End Property

Private Sub MyCtrl2_MouseDown(ByVal Button As Integer, _
    ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  MyCtrl2.Text = copydata
End Sub

1 hits

【18241】ラベルのクリックを取得するには ponpon 04/9/19(日) 3:37 質問
【18242】Re:ラベルのクリックを取得するには かみちゃん 04/9/19(日) 8:17 発言
【18243】Re:ラベルのクリックを取得するには ponpon 04/9/19(日) 10:03 質問
【18244】Re:ラベルのクリックを取得するには かみちゃん 04/9/19(日) 10:28 回答
【18245】Re:ラベルのクリックを取得するには ichinose 04/9/19(日) 10:40 回答
【18246】Re:ラベルのクリックを取得するには ponpon 04/9/19(日) 11:03 お礼
【18248】Re:ラベルのクリックを取得するには ponpon 04/9/19(日) 14:36 質問
【18253】Re:ラベルのクリックを取得するには ichinose 04/9/19(日) 19:16 発言
【18254】Re:ラベルのクリックを取得するには 追伸 ichinose 04/9/19(日) 19:24 発言
【18258】Re:ラベルのクリックを取得するには 追伸 ponpon 04/9/20(月) 0:08 お礼
【18285】Re:ラベルのクリックを取得するには 追伸 ichinose 04/9/20(月) 12:47 発言
【18415】Re:ラベルのクリックを取得するには 追伸 Kobasan 04/9/22(水) 22:04 発言
【18422】Re:ラベルのクリックを取得するには 追伸 ponpon 04/9/23(木) 12:00 質問
【18423】Re:ラベルのクリックを取得するには 追伸 ponpon 04/9/23(木) 12:12 お礼

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