
どなたか教えてください。
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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) VBA 重複チェック後に値をワークシートに転記する方法を教えてください。 1 2023/03/19 12:43
- Visual Basic(VBA) ユーザーフォームの書き出しで追加のご相談 ユーザーフォームの値をシートに書き出す際、コードが表示され 2 2022/08/05 10:58
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Visual Basic(VBA) フレーム内のオプションボタンの選択結果をセルに書き出したい。 図のような預金種目というフレームにオプ 2 2022/07/29 11:12
- Visual Basic(VBA) vbaを早くしたい 5 2022/09/09 10:58
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで、貼り付け禁止命令を実現...
-
Excel VBA 範囲の条件付け
-
メッセージを1度だけ表示したい。
-
エクセルVBA(実行時エラー438...
-
データが入力されている隣のセ...
-
EXCELマクロ 保護されているシ...
-
VBA セルに合わせて移動するが...
-
Swing 編集不可でも選択可能なJ...
-
マクロを使って画像を貼り付け
-
エクセルのVBAでダブルクリック...
-
VBAの判定の仕方を教えてくださ...
-
(VBA)アクティブセルを起点に...
-
【VBA】参照値を1ずつ増やして...
-
セル色を5秒間隔で変える
-
Windowsで動くVBAがmacOSで動か...
-
excelでクリックしたセルにレ点
-
エクセルテキストボックスの文...
-
エクセル
-
エクセルについて
-
エクセルでの計算式で求められ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データが入力されている隣のセ...
-
EXCELマクロ 保護されているシ...
-
エクセルVBA(実行時エラー438...
-
Windowsで動くVBAがmacOSで動か...
-
エクセルテキストボックスの文...
-
VBAで、貼り付け禁止命令を実現...
-
VBA セルに合わせて移動するが...
-
メッセージを1度だけ表示したい。
-
エクセルのVBAでダブルクリック...
-
ダブルクリックすると現在の時...
-
ハイパーリンクされているファ...
-
VBAで選択したセルのみ処理を実...
-
VBAで丸をつけたいです。
-
【VBA】参照値を1ずつ増やして...
-
Swing 編集不可でも選択可能なJ...
-
Jtableの特定のセルの背景色や...
-
VBAのListBoxで複数選択して...
-
VBAについて教えてください。 E...
-
エクセルVBA セル選択後にカレ...
-
セル色を5秒間隔で変える
おすすめ情報