• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルの連続データをユーザー指定数を改行して表示)

エクセルの連続データをユーザー指定数を改行して表示

このQ&Aのポイント
  • エクセルの連続データをユーザー指定数を改行して表示するためのVBAとユーザーフォームの作成方法について教えてください。
  • シート2の連続したデータをシート1のユーザーフォームのコンボボックスから選択し、指定数分を改行してシート1のセルに格納したいです。
  • また、コンボボックスの値が選択状態から変更可能で、指定数分格納されるようにしたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

UserForm1にCombobox1、TextBox1、CommandButton1,2,3を配置する。 UserForm1モジュールに下記を作成する。 private sub UserForm_Initialize()  me.combobox1.rowsource = "Sheet2!A2:A" & worksheets("Sheet2").range("A65536").end(xlup).row end sub private sub CommandButton1_Click() ’左矢印  me.combobox1.listindex = application.max(0, me.combobox1.listindex - 1) end sub private sub CommandButton2_Click() ’右矢印  me.combobox1.listindex = application.min(me.combobox1.listcount - 1, me.combobox1.listindex + 1) end sub private sub CommandButton3_Click() ’登録  dim c as long, r as long, p as long  if me.combobox1 = "" or not isnumeric(me.textbox1) then exit sub  range("A:E").clearcontents ’適宜調整の事  for p = 0 to val(me.textbox1) - 1   c = p mod 5 + 1   r = (p \ 5) * 2 + 1   worksheets("Sheet1").cells(r, c) = worksheets("Sheet2").range("A2").offset(me.combobox1.listindex + p, 0)  next p end sub

nezumisansan
質問者

補足

keithin さん、ご回答ありがとうございます。思った通りのことが出来ました。 甘えついでに申し訳ございません。 Sheet1のA1とB1が結合している場合【A1】~E1とF1で【E1】~A7とB7で【A7】・・・のように格納させるセルが結合の場合はどのような記述となるのでしょうか? また記述では、コンボボックス×数値(リストボックス)を【登録】すると反映されるようになっておりますが、現在の機能を残しつつ、選択されたコンボボックスの値のみをカーソルのあるセルに【登録】する処理はどのようになりますでしょうか? お手数ですがよろしくお願い致します。

その他の回答 (1)

  • msMike
  • ベストアンサー率20% (364/1804)
回答No.1

「コソボボックス」の“こそぼ”って何?

関連するQ&A

専門家に質問してみよう