Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


744 / 13645 ツリー ←次へ | 前へ→

【78577】コンボボックスを使った行選択 しゅん 16/11/17(木) 21:01 質問[未読]
【78578】Re:コンボボックスを使った行選択 β 16/11/17(木) 22:08 発言[未読]
【78579】Re:コンボボックスを使った行選択 マナ 16/11/17(木) 23:45 発言[未読]
【78582】Re:コンボボックスを使った行選択 しゅん 16/11/18(金) 14:02 質問[未読]
【78589】Re:コンボボックスを使った行選択 マナ 16/11/19(土) 9:10 発言[未読]
【78580】Re:コンボボックスを使った行選択 β 16/11/18(金) 8:07 発言[未読]
【78583】Re:コンボボックスを使った行選択 しゅん 16/11/18(金) 14:04 質問[未読]

【78577】コンボボックスを使った行選択
質問  しゅん  - 16/11/17(木) 21:01 -

引用なし
パスワード
   エクセルのVBA コンボボックスを使って、シートの中の一行を選択したいと思っています。
コンボボックスのRowSourceをつかって、一列選択出来るようにしています。そのコンボボックスで選んだものがある行を選択したいのですが、どうすればいいでしょうか?
よろしくお願いします。

【78578】Re:コンボボックスを使った行選択
発言  β  - 16/11/17(木) 22:08 -

引用なし
パスワード
   ▼しゅん さん:

サンプルです。
元シート、"Sheet1"にしてあります。(★のところ2か所)
違っていれば、ここを変更してください。

元シートのどこに書く行のデータがあるかどうか、わからなかったので、
A列、1行目からということにしてあります。


Private Sub UserForm_Initialize()
  Dim w As Variant
  Dim i As Long
  Dim c As Range
  With Sheets("Sheet1")  '★
    With .Range("A1", .Range("A" & Rows.Count).End(xlUp))
      ReDim w(1 To .Rows.Count, 1 To 2)
      For Each c In .Cells
        i = i + 1
        w(i, 1) = c.Value
        w(i, 2) = c.Row
      Next
    End With
  End With
  With ComboBox1
    .RowSource = "" '念のため
    .MatchRequired = True
    .List = w
  End With
End Sub

Private Sub ComboBox1_Change()
  With ComboBox1
    If .ListIndex < 0 Then Exit Sub
    Application.Goto Sheets("Sheet1").Cells(.List(.ListIndex, 1), "A") '★
  End With
End Sub

【78579】Re:コンボボックスを使った行選択
発言  マナ  - 16/11/17(木) 23:45 -

引用なし
パスワード
        ▼しゅん さん:
>コンボボックスのRowSourceをつかって、一列選択出来るようにしています。

こんな感じだと、どうなりますか。

Private Sub ComboBox1_Change()
  With ComboBox1
    If .ListIndex < 0 Then Exit Sub
    Application.Goto Range(.RowSource).Rows(.ListIndex + 1)
  End With
End Sub

【78580】Re:コンボボックスを使った行選択
発言  β  - 16/11/18(金) 8:07 -

引用なし
パスワード
   ▼しゅん さん:

>コンボボックスのRowSourceをつかって、一列選択出来るようにしています。

ここを見落としていました。
私のコードは無視してください。

ただ、個人的には、この【一列】をコンボボックスの RowSOurce にセットしている部分の
コードを見せてもらいたい気はします。
(一列の【どの部分】なのかが、気になっています)

【78582】Re:コンボボックスを使った行選択
質問  しゅん  - 16/11/18(金) 14:02 -

引用なし
パスワード
   マナ さん お返事ありがとうございます。
コンボボックスから選択したものにシート上でセルを選択することができました。
もう一つなのですが、この選択したセルにチェックボックスでチェックを付けると"1"がついていくというようにしたいのですが、どうすればよいでしょうか?
お願いします。

【78583】Re:コンボボックスを使った行選択
質問  しゅん  - 16/11/18(金) 14:04 -

引用なし
パスワード
   β さん お返事ありがとうございます。
まなさんから教えていただいた方法で、
コンボボックスから選択したものにシート上でセルを選択することができました。

もう一つなのですが、この選択したセルにチェックボックスでチェックを付けると"1"がついていくというようにしたいのですが、どうすればよいでしょうか?
お願いします。

【78589】Re:コンボボックスを使った行選択
発言  マナ  - 16/11/19(土) 9:10 -

引用なし
パスワード
   ▼しゅん さん:

>もう一つなのですが、この選択したセルにチェックボックスでチェックを付けると"1"がついていくというようにしたいのですが、どうすればよいでしょうか?

>追加です。
>イメージとしては、コンボボックスで名前を選択し、その人が買った商品(商品はC1からAK1までずらっと並んでいます。)に1をつけて集計するといったかんじです。

ユーザーフォームの操作なのか、シート上の操作のなのか、
どのような操作をイメージしておられるのか全くわかりません。

またマクロを実行した結果、どうなって欲しいのか全くイメージできません。
そもそも実行前の状態もわかっていません。

もう少し説明お願いします。


何となく、ユーザーフォーム(コンボボックス)は使わないで
オートフィルターで名前を絞り込んでから
該当する商品のセルに1を入力していけば良い気がします。

744 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free