Excel初心者です。
フォームにリストボックスを2つ作り登録まで出来たのですが、ワークシートにも同じリストボックスを作りたいのですが出来ません、、、
どうしたらワークシートにも作れるでしょうか?
ちなみに下記がフォームのリストボックスのマクロになります。
Private Sub UserForm_Initialize()
Dim lRow As Long
With Worksheets("Sheet1")
lRow = .Range("A" & Rows.Count).End(xlUp).Row
End With
With ListBox1
.ColumnCount = 2
.ColumnWidths = "100;20"
.RowSource = "Sheet1!A2:C" & lRow
.ColumnHeads = True
End With
With Worksheets("Sheet1")
lRow = .Range("D" & Rows.Count).End(xlUp).Row
End With
With ListBox2
.ColumnCount = 2
.ColumnWidths = "100;20"
.RowSource = "Sheet1!D2:E" & lRow
.ColumnHeads = True
End With
End Sub
教えてください。
よろしくお願いします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんな感じで、どうでしょうか。
とりあえず、リストボックス1個分のサンプルとしました。フォームのリストボックスとシートのリストボックス(ActiveX)では、プロパティに若干の違いがあるようなのでご注意ください。
それから、フォームには事前にリストボックスを張り付けてあって、マクロでプロパティを設定していると思いますが、サンプルでは、シート上にリストボックスを新規作成してからプロパティを設定します。よって、何回も実行すると、その分だけリストボックスが作成されてしまいます。使用目的に合わせて、事前に作成しておく、または、都度削除する等の対応が必要かもしれません。
Sub sample()
Dim lRow As Long
Dim ListBox1 As Object
With Worksheets("Sheet1")
lRow = .Range("A" & Rows.Count).End(xlUp).Row
Set ListBox1 = .OLEObjects.Add(ClassType:="Forms.ListBox.1", Link:=False, _
DisplayAsIcon:=False, Left:=113.25, Top:=42.75, Width:=204, Height:=130.5)
End With
With ListBox1
.Object.ColumnCount = 2
.Object.ColumnWidths = "100;20"
.ListFillRange = "Sheet1!A2:C" & lRow
.Object.ColumnHeads = True
End With
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA リスト表示していますが 3 2023/05/18 12:12
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
- Visual Basic(VBA) VBA ComboBoxについて 2 2022/10/21 12:15
- Visual Basic(VBA) EXCELのVBAについて 2 2023/07/05 17:17
- Visual Basic(VBA) 最終列の右へSUM関数を作成するため下記コードを実行しましたが、最終列「10月28日」が上書きされて 3 2022/12/05 20:32
- Visual Basic(VBA) Sheet「状況」から、分類の年齢別カウント数をSheet「D表」へ転記する下記マクロを作っています 7 2022/12/14 17:57
- Visual Basic(VBA) ExcelVBAでDo Until loopのネスト、IF文を使って一致する物と一致しない物としたい 11 2022/12/24 17:46
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) 追記する列を増やしたい 2つのデータを検索・照合して元データにないデータを下記マクロで商品名を追記し 9 2022/10/05 10:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
リストボックスの選択解除
-
accessで2つ以上のフォームを起...
-
VBA リストボックスをダブルク...
-
VB.net(VB)で、フォームにExcel...
-
メインフォームからサブフォー...
-
VBAにてメッセージボックスを最...
-
アクセス フォームが存在する...
-
ExcelVBAでフォーム内でブック...
-
Access 無操作の場合、自動で閉...
-
WithEvents変数について
-
フォームを1つだけ閉じる方法は?
-
データシートビューからフォー...
-
ExcelVBAでユーザーフォーム内...
-
短距離走...
-
VB.NETからエクセルを起...
-
ディスプレイ解像度より大きな...
-
ACCESS VBAサブフォーム(DATA S...
-
入力フォームをエクセルに書き出す
-
サブフォームの新規レコードに...
-
VBプログラムの終了
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAにてメッセージボックスを最...
-
VB.net(VB)で、フォームにExcel...
-
Accessでフォームから別フォー...
-
リストボックスの選択解除
-
Googleフォーム・複数人の申し...
-
ユーザーフォーム上にアイコン...
-
アクセスVBA フォームのス...
-
VBプログラムの終了
-
アクセス フォームが存在する...
-
サブフォームの新規レコードに...
-
サブフォームの行ごとにコンボ...
-
PDFフォームに本日の日付を自動...
-
accessで2つ以上のフォームを起...
-
メッセージボックスの背景色
-
PDFフォーム内で日付計算したい...
-
VBA リストボックスをダブルク...
-
Access 無操作の場合、自動で閉...
-
ディスプレイ解像度より大きな...
-
フォーム上の全てのコントロー...
-
ToolStripStatusLabelを固定し...
おすすめ情報