
データー用のブックに、リストボックスを作り、リストボックスのデーターを
複数選び(複数選べる)、別ブロックのセルに転記するVBAが可能であれば、ご教授願います。
※リストボックスを表示させることはできたのですが、別ブックへの転記させる
VBAコードが分からず困っております。
<実施内容>
1、データー専用ブック(ブック名:データー)に、リストボックスを作成し、
そのリストボックスのデーターの中で、データを選んで、選んだデーターを
別ブックのカソールのある行のセルに転記する。
※カソールの移動先は,決まっていません。(転記先の伝票の転記先の位置がまちまちの為)
添付画像参照
画像左側が、データー用のブックです。
並びは ⇒ 部品コード 部品名称 個数 在庫 依頼数 出庫 備考
画像右側が別ブック(転記先)です。
転記対象のブックは、複数あります。
下が、リストボックス表示です
Private Sub UserForm_Initialize()
With Me.ListBox1
.MultiSelect = 1
.List = Range("A1").CurrentRegion.Value
.ColumnCount = 9
.ColumnWidths = "50;110;50;50;50;50;50;50;50"
End With
End Sub
ご教授願います

A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
リストボックスのリストがシートのセルを順に与えているのなら、
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) Then '★ここ
r.Value = ListBox1.List(i)
Set r = r.Offset(1)
End If
選択したリストはA1を基準としたOffsetで行列は求められますよね。
https://www.moug.net/tech/exvba/0050057.html
同じものであるなら何もリストボックスの値に拘らず、セルをコピペすれば良いのでは?
その行の求め方は
workbooks("~").worksheets("~~").range("A1").offset(i).resize(1,7).copy ~コピー先のセル~
で良いのでは?
ただコピー先については情報が不足している感じはしますので割愛させてもらいますけど。
目の前にあって対処法を考えるならまだしも、ブック名等が1つ固定なのか複数不特定なのか良くわかりませんし。
私は老眼だから画像も良く見えなくて手の打ちようがないけど、常連さんでも見えても難しいから回答が厳しいのかもね。
No.1
- 回答日時:
ちょ~簡単に書けば(あくまで練習問題)、
Private Sub UserForm_Initialize()
Dim i As Integer
For i = 1 To 10
ListBox1.AddItem i
Next
ListBox1.MultiSelect = fmMultiSelectMulti
End Sub
Private Sub CommandButton1_Click()
Dim i As Integer
Dim r As Range
Set r = Workbooks("test.xlsx").Worksheets("Sheet1").Range("A1")
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) Then
r.Value = ListBox1.List(i)
Set r = r.Offset(1)
End If
Next
Set r = Nothing
End Sub
ListBoxの値が選択されているかをリストから順に調べて、Trueなら別のブックのシートのセルに書き出す。
→今回は Workbooks("test.xlsx").Worksheets("Sheet1").Range("A1") ここがスタート位置。
ListBoxの列については多分ググれば例題は見つかるんじゃないかな?
http://officetanaka.net/excel/vba/tips/tips158.htm
これとか?
あとは基準としていた書き込みセルから右にOFFSETして順次書いたらいけるのかも。(その分のループは必要かもですが)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Excel VBAのリストボックスの値を他のフォームに反映させる方法を教えてください。
Visual Basic(VBA)
-
VBA リストボックス内の値を複数選択し別シートに転記するには
Visual Basic(VBA)
-
Excel VBA 複数選択したリストボックスからテキストボックスに転記したいです。
Visual Basic(VBA)
-
-
4
リストボックスの項目に、他のブックのセルの値を設定するには?
Access(アクセス)
-
5
VBAコンボボックスで選択した値をシートに転記したい
Visual Basic(VBA)
-
6
Excelで質問です。ListBoxの項目を別bookから読込むには
その他(Microsoft Office)
-
7
VBAユーザーホームテキストボックスにカーソルを自動で表示したい
Visual Basic(VBA)
-
8
リストボックスの複数データをセルに転記する
その他(プログラミング・Web制作)
-
9
エクセルVBA「リストボックスで選択した値をテキストボックスで変更してシート上セルに反映したい」
Excel(エクセル)
-
10
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
11
excelのリストボックスで選択した項目をアクティブセルに入力方法
Excel(エクセル)
-
12
ListBoxで改行したい
Visual Basic(VBA)
-
13
ユーザーフォームに入力したデータを保持する方法
Visual Basic(VBA)
-
14
UserForm1.Showでエラーになります。
工学
-
15
【VBA】【ユーザーフォーム_ListBox】オートフィルタで絞りこんだ値だけを取り出したい
Visual Basic(VBA)
-
16
エクセルのユーザーフォームでVLOOKUPと同じ機能をするには?
Excel(エクセル)
-
17
ExcelVBA でリストリストボックスに列見出しをコーディングでつける
Excel(エクセル)
-
18
ExcelのVBAでフォームが表示されない
Excel(エクセル)
-
19
VBA:ユーザーフォームのマルチページに色を付けたい。
Word(ワード)
-
20
VBAのリストボックスで、横スクロールバーを表示するには?
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA シートをコピーする際に Co...
-
別ブックをダイアログボックス...
-
VBAで別のブックにシートをコピ...
-
エクセルVBAが途中で止まります
-
VBA 別ブックからコピペしたい...
-
VBA コードを実行すると画面が...
-
VBSでExcelのオープン確認
-
オブジェクトは、このプロパテ...
-
VBA アプリケーション定義また...
-
VBAで別ブックのシートを指定し...
-
ワイルドカード「*」を使うとう...
-
VBA シート名が一致した場合の...
-
Book間の移動
-
【VBA】全シートの計算式を全て...
-
vbaで他のブックに転記したい。...
-
2つ目のコンボボックスが動作...
-
ADOで複数のBookから抽出
-
エクセルVBAで読み取りパスワー...
-
Excelマクロ 該当する値の行番...
-
【ExcelVBA】zip圧縮されたCSV...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数のエクセルファイルとシー...
-
VBA シートをコピーする際に Co...
-
別ブックをダイアログボックス...
-
VBA 別ブックからコピペしたい...
-
エクセルVBAが途中で止まります
-
ワイルドカード「*」を使うとう...
-
VBAで別のブックにシートをコピ...
-
VBA コードを実行すると画面が...
-
VBAで別ブックのシートを指定し...
-
【ExcelVBA】zip圧縮されたCSV...
-
【Excel VBA】書き込み先ブック...
-
2つ目のコンボボックスが動作...
-
[Excel]ADODBでNull変換されて...
-
Excelマクロ 該当する値の行番...
-
VBA 実行時エラー 2147024893
-
Excelのマクロコードについて教...
-
Excel にて、 リストボックスの...
-
【ExcelVBA】インデックスが有...
-
VBA アプリケーション定義また...
-
【Excel VBA】表の列の値毎に分...
おすすめ情報
対応して頂き誠にありがとうございました。
練習問題ではなく、伝票発行に使用したいと思っております。
希望としては、可能であれば、カソールのあるセルに転記していけたらと考えて
いました。
説明不足で済みません。