エクセルでセルがダブルクリックされたら
フォームを表示し、フォーム内のリストボックス
のクリック時の値をクラスのプロパティに実装
できるのでしょうか?
以前、仕事でそのようなクラスを呼び出して
使ったことがあるので。
エクセル側
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim cls As New Class1
'
cls.ListSet
'
End Sub
↑フォームの表示まで
クラスモジュール
Option Explicit
Public listVal As String
Public Function ListSet() As Boolean
'
On Error GoTo ErrFunc
'
ListSet = True
'
With UserForm1
With .ListBox1
.AddItem "a"
.AddItem "b"
.AddItem "c"
End With
'
.Show
'
End With
'
Exit Function
'
ErrFunc:
ListSet = False
End Function
Public Property Let val(ByVal data As String)
listVal = data
End Property
Public Property Get val() As String
val = listVal
End Property
フォーム側のListBox1_Clickで
どうすればよいか分からなくなりました。
根本的に間違っているのでしょうか?
ネットでさがしたのですが参考になる
サイトが見つかりません。
解決方法、宜しくお願い致します。
No.1ベストアンサー
- 回答日時:
WithEvents宣言で コンボボックスをクラスモジュールに宣言して
Private WithEvents oCombo as CobBox
ListSetメソッドで
Set oCombo = UserForm1.ComboBo1
を実行
このオブジェクトのChangeイベントで
if oCombo.MatchFound then
' コンボボックスのテキストとリスト項目が一致した場合
' プロパティを変更
val = oCombo.Text
end if
といった具合にしてはいかがでしょう
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) エクセルVBA ダブルクリックしたら色反転を指定したセルのみにしたい 2 2022/04/06 12:52
- Visual Basic(VBA) エクセルのVBAでダブルクリックでチェックを入れたあと 1 2022/10/26 20:30
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) Excelにて、シート1の行を削除するとシート2のシート1と同じ番号の行も削除したい 3 2022/05/08 04:24
- Visual Basic(VBA) Excel VBA メール作成について 本文の中にExcel でコピーした図を上下に2つ 貼り付けを 2 2023/06/14 01:48
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
[VBA] Classから他のClassを呼...
-
共通モジュールでDBへの接続と...
-
VBAで、Functionを、クラスモジュール...
-
VB ブラウザ
-
実行時エラー 438になった時の...
-
VBA シートのボタン名を変更し...
-
worksheetFunctionクラスのVloo...
-
ExcelVBA Range クラスの Page...
-
ADODB.Streamを使用してUTF-8を...
-
フォームの再読み込み
-
eclipseのデバッグ中に変数の値...
-
ユーザーフォームを表示中にシ...
-
ExcelVBAのユーザーフォームの...
-
ユーザーフォーム上に現在日時...
-
なぜこんな初歩的なVBAのIf文で...
-
Access VBA でデータペーストを...
-
テキストボックス(VBA)でEnter...
-
VBA listBoxから
-
どうやってもFor文を抜けてしま...
-
質問です。 場面緘黙症で苦しん...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
共通モジュールでDBへの接続と...
-
[VBA] Classから他のClassを呼...
-
Excel vbaで複数のテキストボッ...
-
用語の意味の違いを教えてくだ...
-
他のモジュールのプロシージャ...
-
VB.netで、動的な型変換を行い...
-
WPFでCanvas の子要素にアクセ...
-
VB.NETにて文字列で指定した関...
-
【JSF】バッキングビーンから別...
-
バウンドプロパティとは?
-
VBAで、Functionを、クラスモジュール...
-
VBA オブジェクト追加
-
Form2の変数をForm1に渡す方法...
-
コンポーネント指向って、どの...
-
VBA クラスにプロパティが実装...
-
シーケンス図について。
-
VBA モジュールレベル・パブリ...
-
worksheetFunctionクラスのVloo...
-
VBA シートのボタン名を変更し...
-
VBA(エクセル)で自動的にボタン...
おすすめ情報