
No.2ベストアンサー
- 回答日時:
思い違いはあるかと思いますが、こんなのではどうでしょう?
ユーザーフォームにリストボックスを2つ、ボタンを1つ貼り付け、ボタンを押すとリスト1で選択された値がリスト2にAddItemされ、かつ、リスト2の内容がシート3のA列に出力するようにしてみました。
----------------------------------------------
Option Explicit
'フォームイニシャライズ
Private Sub UserForm_Initialize()
'リスト1のRowSourceをシート1のA1からA4に設定
Me.ListBox1.RowSource = "Sheet1!A1:A4"
End Sub
'ボタン押下時
Private Sub CommandButton1_Click()
Dim i As Integer
'リスト1で選択された項目をリスト2へAddItem
With Me.ListBox1
For i = 0 To .ListCount - 1
If .Selected(i) Then
Me.ListBox2.AddItem .List(i)
End If
Next i
End With
'シート3のA列へ転記するプロシージャを実行
Call Disp
End Sub
'シート3にリスト2の値を出力するサブプロシージャ
Private Sub Disp()
Dim i As Integer
Dim row As Integer
'一旦A1を含むエリアをクリア
Sheet3.Range("A1").CurrentRegion.Clear
'リスト2の値を出力
row = 1
For i = 0 To Me.ListBox2.ListCount - 1
Sheet3.Range("A" & row).Value = Me.ListBox2.List(i)
row = row + 1
Next i
End Sub
----------------------------------------------
教えて頂き本当にありがとうございます。
とても詳しくて、いままで苦心して考えていたことがやっと出来ました。
すこし応用して使わせて頂きました。本当にありがとうございます。
No.4
- 回答日時:
#3です。
2段リストボックスなら(初めからそうでないかと思ったが、よく入力規則の2段式が質問にでる)シートに2つリストボックスを貼り付ける。
H1:H5に(どこでも良い。またはVBAでAddItemのプログラムで設定しても良い)I列以下に下記を入力しておく。
H列 I列 J列 ・・・・・
東京千代田区港区新宿区品川区
横浜鶴見区神奈川区西区中区
静岡葵区駿河区清水区
名古屋千種区東区北区
京都右京区左京区南区
ListBOX1のリストボックスの「プロパティ」を出して、ListFillRangeにH1:H5と入れる。
KistBox1のクリックイベントに
Private Sub ListBox1_Click()
r = ListBox1.ListIndex + 1
c = Cells(r, 8).End(xlToRight).Column
ListBox2.Clear
For i = 9 To c
ListBox2.AddItem Cells(r, i)
Next i
End Sub
とする。
ListBox2のクリックイベントには
Private Sub ListBox2_Click()
ActiveCell = ListBox2.Text
ActiveCell.Offset(1, 0).Select
End Sub
(#3のコードとほぼ同じ)
これで例えば、
ListBox1で静岡を選ぶと、その区名がListBox2にセットできますので、そこで区名をクリックすれば、セルに区名がセットされます。
VB的でなく、エクセル的な回答です。
No.3
- 回答日時:
Sheet1に1つリストボックスを貼り付ける。
H1:H6に(どこでも良い。またはVBAでAddItemのプログラムで設定しても良い)
東京
横浜
静岡
名古屋
大垣
京都
と入力しておく。
リストボックスの「プロパティ」を出して、ListFillRangeにH1:H6と入れる。
そのリストボックスを「エディット」モードでダブルクリックしてでてくる
Private Sub ListBox1_Click()
End Sub
を
Private Sub ListBox1_Click()
ActiveCell = ListBox1.Text
ActiveCell.Offset(1, 0).Select
End Sub
とする。
これでエディットモードを脱して、値を最初にセットしたいセルをクリクして、順次リストボックスをクリックしていくと、順次
A1横浜
A2静岡
A3名古屋
A4静岡
A5横浜
のように値がセットされていきます。
質問はこういうことではないですか。
>ListBox1からListBox2に追加した項目
は敢えて今回の質問では不要部分と独断しました。
>コマンドボタンを押すと、
これも意味不明で、独断で無視しました(それだけ質問の表現がわかりづらいということ)。
>リストボックスのプロパティにLinkedCellというのがあるらしいのですが
相当古くから(97ではもちろんあったと思う)あり、刻と違う
・LinkedCellは1箇所のセルとつながってしまうので
・具体的にセル番地を書く以外コード・ルーチンは指定できないので
使得ない場合があります。
No.1
- 回答日時:
いまいち、質問の内容が、理解しづらいです。
なんらかの操作でListBox1からListBox2に項目を追加し、その「追加された項目”だけ”」をシート3に表示していきたいのでしょうか?????
ご回答ありがとうございます。すみません。初心者ゆえどのように説明したらよいかとても悩んだのですが・・・
そうです。AddItemを用いてあるリストボックスからもう一方のリストボックスに項目を追加しました。
その追加した項目だけをセルに移したいのです。
(つまりリストボックスの内容をセルからプロパティRowsauceによって設定する操作の逆の操作をしたいのです。)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセル シート内のボックスを縦並びから横並びに 7 2023/04/05 04:28
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Excel(エクセル) エクセル バーコード作成で他のシートを参照するには? 2 2023/05/03 16:57
- Excel(エクセル) 【エクセル」 特定のセルで条件抽出した列を、別シートに上から詰めて表示したい。 8 2022/04/08 16:00
- Excel(エクセル) エクセルシートをVBAでpdfで保存したい 2 2022/06/27 10:17
- Excel(エクセル) エクセルについて教えてください。 2 2023/06/14 11:11
- Excel(エクセル) 重複したデータ(空白は除く)のVBA表記について 4 2022/08/15 07:28
- Visual Basic(VBA) Excel VBAのリストボックスの値を他のフォームに反映させる方法を教えてください。 2 2023/07/14 14:06
- Excel(エクセル) VBAにてエクセルをpdf化する方法 1 2023/03/10 16:20
- Visual Basic(VBA) 【困っています2】VBA 追加処理の記述を教えてください。 2 2022/08/26 11:42
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelVBAを使って、値...
-
i=cells(Rows.Count, 1)とi=cel...
-
任意フォルダから画像をすべて...
-
Excelのプルダウンで2列分の情...
-
Application.Matchで特定行の検索
-
Excelで指定した日付から過去の...
-
特定のセルが空白だったら、そ...
-
【Excel VBA】指定行以降をクリ...
-
エクセルvba:自己セルの情報取...
-
エクセルvbaで、別シートの最下...
-
【Excel VBA】セルの色によって...
-
VBAでセルをクリックする回...
-
セルに貼り付けた画像の上から...
-
特定行の色を変えたい(FlexGrid)
-
Excel vbaで特定の文字以外が入...
-
TODAY()で設定したセルの日付...
-
if関数とifs関数は組み合わせる...
-
VBA実行後に元のセルに戻りたい
-
エクセルで自動的に印をつける方法
-
”戻り値”が変化したときに、マ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAを使って、値...
-
i=cells(Rows.Count, 1)とi=cel...
-
Excelで指定した日付から過去の...
-
エクセルvbaで、別シートの最下...
-
特定のセルが空白だったら、そ...
-
VBA実行後に元のセルに戻りたい
-
【Excel VBA】指定行以降をクリ...
-
任意フォルダから画像をすべて...
-
【Excel】指定したセルの名前で...
-
VBAでセルをクリックする回...
-
【VBA】シート上の複数のチェッ...
-
EXCELのVBA-フィルタ抽出後の...
-
Excelのプルダウンで2列分の情...
-
Excel vbaで特定の文字以外が入...
-
TODAY()で設定したセルの日付...
-
”戻り値”が変化したときに、マ...
-
ExcelのVBAで数字と文字列をマ...
-
VBA ユーザーフォーム ボタンク...
-
Excel VBA マクロ ある列の最終...
-
Excel VBA、 別ブックの最終行...
おすすめ情報