ここから本文です

リストボックスの内容をシートに転記について質問です。

pre********さん

2017/5/1701:07:41

リストボックスの内容をシートに転記について質問です。

Private Sub UserForm_Initialize()

Dim sh As Worksheet
Dim lastRow As Long
Dim i As Integer

Set sh = Workbooks("book1").Sheets("一覧")
lastRow = sh.Cells(Rows.Count, 1).End(xlUp).Row


ListBox1.List = sh.Range(Range("A1"), Cells(lastRow, 1)).Value

ListBox1.MultiSelect = fmMultiSelectMulti 'リスト内複数選択可能
ListBox1.ListStyle = fmListStyleOption 'チェックボックスで表示

上記でシートの内容をリストボックス1に表示し、複数選択した内容をシート最終行の最終列に横に順番に選択された内容を転記していきたいのですが上手くいきません。
いろいろ調べてみたのですが調べて書いたソースだと最終行、最終列にリストボックスでチェックした最後の項目しか転記されません。
全てを転記するにはどうしたらよいのでしょうか?

下記が調べて書いた内容になります。

'リストボックス1の内容をシートに転記

Dim i As Long
Dim lastRow As Long
Dim lastcolumn As Long

lastRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
lastcolumn = .Cells(1, Columns.Count).End(xlToLeft).Column + 1

For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
.Cells(lastRow, lastcolumn) = ListBox1.List(i)
End If
Next i


すみませんがお助けください。
よろしくお願いいたします。

閲覧数:
242
回答数:
2
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

hot********さん

2017/5/1703:11:50

>.Cells(lastRow, lastcolumn) = ListBox1.List(i)

のlastRowが変化しないので、同じセルに上書きしてます。
例えばこの後ろに

lastRow = lastRow + 1

を加えてみてください。

  • 質問者

    pre********さん

    2017/5/1801:27:27

    回答ありがとうございます。

    無事に行いたいことが出来ました。
    ありがとうございました。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

ベストアンサー以外の回答

1〜1件/1件中

fro********さん

2017/5/1708:56:02

VBEでステップインでデバッグするのをお勧めします。
表示からローカルウィンドウを開いておくと、それぞれの変数に何が格納されているのかが分かるので、F8を押しながら1コードずつ見ていくといいですよ。

今回のコードは先の方も仰っていますが、lastrowとlastcolumnの値が変わっていないので、入力されるセルも固定になってしまっています。

最終行と最終列の取得もForに組み込んであげればいいと思います。


For i = 0 To ListBox1.ListCount - 1
lastRow = .Cells(Rows.Count, i).End(xlUp).Row + 1
lastcolumn = .Cells(i, Columns.Count).End(xlToLeft).Column + 1
If ListBox1.Selected(i) = True Then
.Cells(lastRow, lastcolumn) = ListBox1.List(i)
End If
Next i

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる