Excel VBA質問箱 IV

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

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


62916 / 76738 ←次へ | 前へ→

【18422】Re:ラベルのクリックを取得するには 追伸
質問  ponpon  - 04/9/23(木) 12:00 -

引用なし
パスワード
   ▼Kobasan さん:

 こんにちは
 わたしも、角田さんのホームページ「擬似の脱却」を読み返し、印刷して勉強したのですが、疑似コントロール配列までは、何とか理解できました(意味がわかる程度)、自分で作るまでには、至っていません。冬休みまでには、作れるようになりたいと、本やHPで勉強しているところです。
 コードを読んでみると、私程度でも理解できそうな気がしたので早速やってみました。ichinoseさんのコードは、私には6割程度しか理解できませんでした。変数なのか関数なのかステイトメントなのかキーワードなのかを分けてコメントをつけているのですが、難しいです。早くこの域に到達したいものです。

 本題ですが、新規ブックでも試してみたのですが、ラベルをクリックしてcaptionを取得して色を変えるところまでは、走るのですが、テキストボックスをクリック(マウスダウン)して、貼り付けるところができません。
 ちなみにWin2000 Excel2002です。
 
>'■■標準モジュール
>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
0 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 お礼

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