![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
どなたか教えてください。
Sheet1にユーザーフォームを使用しデータを入力しています。
リストボックスが複数選択した後にコマンドボタンをクリックした際、
選択項目を1行のセル[Cells(myRow, 16)~Cells(myRow, 20)]に左詰めで表示したい場合はどのようにするのでしょうか?
例:リストボックスには10項目あるとして、そのうち1行目、3行目、5行目だけが選択された場合のパターンで、1行目がCells(myRow, 16)、3行目がCells(myRow, 17)、5行目がCells(myRow, 18)に表示したいのですが・・・。 最大5項目選択とみています。
※コマンドボタンは他のTextBox等も含まれ、下記のような感じです。
Private Sub CommandButton1_Click()
Dim myRow As Long
Sheets("Sheet1").Select
myRow = Range("A65536").End(xlUp).Offset(1, 0).Row
'各テキストボックの値をセルに入力
Cells(myRow, 1).Value = TextBox1.Value
Cells(myRow, 2).Value = TextBox2.Value
Cells(myRow, 3).Value = ComboBox1.Value
Cells(myRow, 4).Value = TextBox3.Value
Cells(myRow, 5).Value = TextBox4.Value
.
.
.
Cells(myRow, 16).Value =
Cells(myRow, 17).Value =
Cells(myRow, 18).Value =
.
.
.
'セルに入力が各テキストボックの値をクリア
TextBox3.Value = ""
TextBox4.Value = ""
ComboBox2.Value = ""
ComboBox3.Value = ""
'フォーカスをTextBox3に移動
TextBox3.SetFocus
End Sub
No.1ベストアンサー
- 回答日時:
以下がListBox1を複数選択して、セルに転記する部分です。
'--------------------------------------
Dim N As Integer
Dim Clm As Integer
Clm = 15
'''セルへ転記
For N = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(N) Then
Clm = Clm + 1
Cells(myRow, Clm) = ListBox1.List(N)
End If
Next N
'''ListBox1の選択状態の解除
For N = 0 To ListBox1.ListCount - 1
ListBox1.Selected(N) = False
Next N
'-----------------------------------------------
言わずもがなのことですが、
ListBox1は複数選択可能になっていなければいけません。
ListBox1.MultiSelect = fmMultiSelectMulti
onlyrom様、ご連絡遅くなりましてすいません。
ご回答いただいたコードで思い通りの結果が出ました。
お手数お掛けしましてありがとうございました、
感謝申し上げます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelのセル内にある図形を削除...
-
VBAで、貼り付け禁止命令を実現...
-
VBAについて教えてください。 E...
-
エクセルVBA(実行時エラー438...
-
データが入力されている隣のセ...
-
エクセルテキストボックスの文...
-
VBAで丸をつけたいです。
-
EXCELマクロ 保護されているシ...
-
困った!日付の変換
-
Swing 編集不可でも選択可能なJ...
-
Windowsで動くVBAがmacOSで動か...
-
マクロを使って画像を貼り付け
-
フレキシブルグリッドについて...
-
ユーザーフォーム上のボタンの...
-
複数の画像をVBAでエクセルに貼...
-
複数行選択のテキストボックス
-
Jtableの特定のセルの背景色や...
-
セル色を5秒間隔で変える
-
VBA セルに合わせて移動するが...
-
エクセル: セルの枠を超えて表示
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データが入力されている隣のセ...
-
EXCELマクロ 保護されているシ...
-
エクセルテキストボックスの文...
-
メッセージを1度だけ表示したい。
-
VBAで、貼り付け禁止命令を実現...
-
ハイパーリンクされているファ...
-
エクセルVBA(実行時エラー438...
-
ダブルクリックすると現在の時...
-
エクセルのVBAでダブルクリック...
-
エクセルVBA セル選択後にカレ...
-
VBA セルに合わせて移動するが...
-
VBAで丸をつけたいです。
-
Excel VBA ダブルクリックで入...
-
VBAで選択したセルのみ処理を実...
-
Swing 編集不可でも選択可能なJ...
-
セル色を5秒間隔で変える
-
Excelのセル内にある図形を削除...
-
Windowsで動くVBAがmacOSで動か...
-
Excel VBA セルを指定個数ラン...
-
VBAについて教えてください。 E...
おすすめ情報