OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

選択したリストとデーターの記入位置

  • すぐに回答を!
  • 質問No.166398
  • 閲覧数58
  • ありがとう数2
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 30% (17/56)

いつもお世話になってます。
エクセルで、リストボックスやコンボボックス等を使用して、リストを選んだとき、Aを選んだらAの横に、Bを選んだらBの横にと、リストとデーターを関連づけて入力する方法を教えてください。
月曜日にはここに書き込むとか、11月10日はここ、11月11日にはここ、といった指定方法が解りません。
リストは出来ているのですが、選択できても役に立ちません。
色々考えたり探したりしたのですが解りません。助けてください。お願いします。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.3
レベル13

ベストアンサー率 68% (791/1163)

macでしたか。コードを見て、windowsのExcelと大差はないと思いますのでAddItemした範囲の横を指定しています。
ComboBox1.ListIndexでクリックしたリストが何番目か分かります。(1番目のリストは0)この辺りの機能がmacがどうなっているか分かりませんので確認してください。
これで行番号が分かるのでその右にTextBox1の値を書き出します。前回回答した、範囲名の設定、RowSourceの設定は不要です。

Private Sub ComboBox1_Click()
  Worksheets("Sheet1").Cells(ComboBox1.ListIndex + 12, 2) = TextBox1.Text
End Sub
お礼コメント
ny57

お礼率 30% (17/56)

ありがとうございます。
何とか考えていたものが出来てきました。
最終的には下のような形で落ち着きました。
ありがとうございました。

Private Sub CommandButton1_Click()
Worksheets("Sheet1").Cells(ComboBox1.ListIndex + 2, 2) = TextBox1.Text
Worksheets("Sheet1").Cells(ComboBox1.ListIndex + 2, 3) = TextBox2.Text
End Sub
Private Sub UserForm_Initialize()
10 For I = 0 To 6
20 ComboBox1.AddItem Worksheets("Sheet1").Cells(I + 2, 1).Value 30 Next
End Sub
投稿日時 - 2001-11-11 13:35:35
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.1
レベル13

ベストアンサー率 68% (791/1163)

質問の意味をほとんど理解していないと思いますが、想像してみました。 決められたセル入力したデータを、選択したコンボボックスのリストの横に書き込みます。 例として、リストは連続範囲に縦に入力された月曜日、火曜日・・・日曜日です。(データと同一シート上) シート上に、コントロールツールボックスのコンボボックスを使ってみました。(ComboBox1) シートに月曜日、火曜日・・・日曜日と縦に入力 ...続きを読む
質問の意味をほとんど理解していないと思いますが、想像してみました。

決められたセル入力したデータを、選択したコンボボックスのリストの横に書き込みます。
例として、リストは連続範囲に縦に入力された月曜日、火曜日・・・日曜日です。(データと同一シート上)

シート上に、コントロールツールボックスのコンボボックスを使ってみました。(ComboBox1)
シートに月曜日、火曜日・・・日曜日と縦に入力し、範囲名Youbiをつけます。
コンボボックスのListFillRange(リストとして表示されます)にYoubiを入力。

入力データ(任意のセル)に範囲名Dataを付けます。
VBE画面のシートのコードウインドウに下記(3行)を貼り付けます。

Private Sub ComboBox1_Click()
  Range("Youbi").Cells(ComboBox1.ListIndex + 1, 2) = Range("Data")
End Sub


意味が不明な点です。
>リストボックスやコンボボックス等
  ・実際はどのコントロールでしょうか。
  ・フォームのコントロール? コントロールツールボックスのコントロール?
  ・これらのコントロールはシートにある? ユーザーフォームにある?
>リストは出来ているのですが
  ・セルの範囲を指定? AddItemで追加?
  ・リストはシート上に何かの規則で入力されている?
>リストとデーターを関連づけて
  ・このデーターはセルでしょうか。
  ・このデーターとリストは同一シートにあります? または別シート?

このあたりがはっきりすれば考えやすいんですが・・・・とりあえず参考にして下さい。
補足コメント
ny57

お礼率 30% (17/56)

ありがとうございます。
内容説明が下手ですいません。
あくまでも、ユーザーフォームからということでです。

>リストボックスやコンボボックス等
ユーザーフォームに、曜日や日にちを選択できるようなものがほしいです。
リストでもコンボでも何でもいいです。  
>リストは出来ているのですが
シート1のA2~A8のようにコンボで指定してみました。
>リストとデーターを関連づけて
テキストボックスから、リストで選択したのがA2の値ならA2のよこB2、A3の値ならB3などに書き込まれるようにしたいのです。同じシートの隣のセルということでしょうか。

なんとかなりますでしょうか?お願いします
投稿日時 - 2001-11-11 00:58:05

  • 回答No.2
レベル13

ベストアンサー率 68% (791/1163)

シートはSheet1とします。A2~A8に範囲名Youbiを付けます。(曜日のつもりです) ユーザーフォームに  テキストボックス(TextBox1)と  コンボボックス(ComboBox1)を作成。コンボボックスのRowSourceをYoubiとします。 ユーザーフォームのコードウインドウに下の3行を貼り付けます。 Private Sub ComboBox1_Click()    ...続きを読む
シートはSheet1とします。A2~A8に範囲名Youbiを付けます。(曜日のつもりです)

ユーザーフォームに
 テキストボックス(TextBox1)と
 コンボボックス(ComboBox1)を作成。コンボボックスのRowSourceをYoubiとします。

ユーザーフォームのコードウインドウに下の3行を貼り付けます。

Private Sub ComboBox1_Click()
  Worksheets("Sheet1").Range("Youbi").Cells(ComboBox1.ListIndex + 1, 2) = TextBox1.Text
End Sub

質問のにあるように指定したリストの隣に表示されると思いますが・・・がんばって下さい。では。
お礼コメント
ny57

お礼率 30% (17/56)

ありがとうございます。
コンボで指定しているのは
Private Sub UserForm_Initialize() 'ユーザーフォームを初期化する
10 For I = 0 To 6 'Iが0から6まで(12行-1から18行-1まで)
20 ComboBox1.AddItem Worksheets("Sheet1").Cells(I + 12, 1).Value 'シートのA列
30 Next '繰り返す
End Sub
こんな方法です。
ここに、教えていただいた三行を追加したところ「構文エラー」になりました。色々確かめてもうまくいきません。。。
使っているのがmacのエクセル98or2001なのでエクセルにもその辺りの違いが出たりするのでしょうか??
投稿日時 - 2001-11-11 11:34:02
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ