Excel VBA質問箱 IV

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

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


61046 / 76738 ←次へ | 前へ→

【20317】Re:リストボックスのプロパティ
発言  kobasan  - 04/12/5(日) 12:34 -

引用なし
パスワード
   >"品名書込"は、Module1,Class1に書いても呼び出すことが出来なかったので

mickeypapaさん 今日は。

クラスモジュールをRaiseイベント処理に対応させたものです。
これでユーザフォーム内でも、標準モジュール内でも、"品名書込"のコードをつくることができます。
若干のコード修正が必要かもしれません。

★★ Class1 クラスモジュールのコード
Private WithEvents MyCtrl As MSForms.ListBox
Private MyIndex As Long
Private MyCaller As Object

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

Public Property Let Index(NewIndex As Long)
  MyIndex = NewIndex
End Property

Public Property Let Caller(NewCaller As Object)
  Set MyCaller = NewCaller
End Property

Private Sub MyCtrl_Click()
  'マウスのワンクリック用。有効にするときは、下の ' を消して下さい。
  'Call MyCaller.lstBoxRaiseClick(MyIndex, MyCtrl)
End Sub

Private Sub MyCtrl_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
  'マウスのダブルクリック用
  Call MyCaller.lstBoxRaiseClick(MyIndex, MyCtrl)
End Sub

Private Sub MyCtrl_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
  'キー入力用
  Call MyCaller.lstBoxRaiseClick(MyIndex, MyCtrl)
End Sub

★★フォームモジュールのコード
Private lstbbox(1 To 11) As New Class1

Private Sub UserForm_Initialize()
Dim i As Long
  ''' ↓Newを付けずに定義した時に必要
  '''Set lstbbox = New Class1
  For i = 1 To 11
    With lstbbox(i)
      .Item = Me.Controls("ListBox" & i)
      .Index = i
      .Caller = Me
    End With
  Next i
End Sub

Private Sub UserFom_Terminate()
  Erase lstbbox
End Sub

Public Sub lstBoxRaiseClick(ByVal Idx As Long, Ctrl As MSForms.ListBox)
Dim i   As Long
Dim myStr As String
  With Ctrl
    For i = 0 To .ListCount - 1
      If .Selected(i) Then myStr = myStr & .List(i, 0)
    Next
  End With
  '品名書込
  MsgBox myStr & " = " & Ctrl.Value  '品名書込のコードに置き換えて下さい。
  '品名書込のコードは少し修正が必要かもしれません。
End Sub

0 hits

【18982】リストボックスのプロパティ mickeypapa 04/10/18(月) 21:33 質問
【18983】Re:リストボックスのプロパティ ISK 04/10/18(月) 22:27 回答
【18984】Re:リストボックスのプロパティ mickeypapa 04/10/18(月) 23:17 お礼
【18986】Re:リストボックスのプロパティ Kobasan 04/10/19(火) 0:27 回答
【19032】Re:リストボックスのプロパティ mickeypapa 04/10/19(火) 22:13 お礼
【20303】Re:リストボックスのプロパティ mickeypapa 04/12/4(土) 18:25 質問
【20306】Re:リストボックスのプロパティ [名前なし] 04/12/4(土) 20:40 回答
【20307】Re:リストボックスのプロパティ mickeypapa 04/12/4(土) 21:56 お礼
【20308】Re:リストボックスのプロパティ kobasan 04/12/4(土) 23:03 回答
【20316】Re:リストボックスのプロパティ mickeypapa 04/12/5(日) 8:58 お礼
【20317】Re:リストボックスのプロパティ kobasan 04/12/5(日) 12:34 発言
【20322】Re:リストボックスのプロパティ mickeypapa 04/12/5(日) 14:42 お礼
【18990】Re:リストボックスのプロパティ Jaka 04/10/19(火) 9:28 回答
【19030】Re:リストボックスのプロパティ mickeypapa 04/10/19(火) 21:16 お礼

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