Excel VBA質問箱 IV

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

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


3667 / 13644 ツリー ←次へ | 前へ→

【60836】ワークシート上のコンボボックスの値の取得 ペーター 09/3/17(火) 16:17 質問[未読]
【60837】Re:ワークシート上のコンボボックスの値の... kanabun 09/3/17(火) 16:22 発言[未読]
【60838】Re:ワークシート上のコンボボックスの値の... ペーター 09/3/17(火) 16:25 質問[未読]
【60839】Re:ワークシート上のコンボボックスの値の... kanabun 09/3/17(火) 16:33 発言[未読]
【60840】Re:ワークシート上のコンボボックスの値の... ペーター 09/3/17(火) 16:47 質問[未読]
【60841】Re:ワークシート上のコンボボックスの値の... kanabun 09/3/17(火) 17:03 発言[未読]
【60842】Re:ワークシート上のコンボボックスの値の... ペーター 09/3/17(火) 17:07 お礼[未読]

【60836】ワークシート上のコンボボックスの値の取...
質問  ペーター  - 09/3/17(火) 16:17 -

引用なし
パスワード
   Windows XP sp3 Excel2000 使用
お世話になります。
[やりたい事]
現在ワークシート上にコンボボックスがあり、その中からユーザーが選んだ値を取得したいのです。

ユーザーフォームの場合は、コンボボックスのChangeイベントで対応できましたがシート上のコンボボックスだと、どうやればよいのでしょうか?
Worksheet_Changeイベントで対応しようかと思いましたが、コンボボックスが最終的には32個くらいまで増える予定ですので、もっとスマートなやり方があればご教授お願いいたします。

【60837】Re:ワークシート上のコンボボックスの値...
発言  kanabun  - 09/3/17(火) 16:22 -

引用なし
パスワード
   ▼ペーター さん:
こんにちは。

>ユーザーフォームの場合は、コンボボックスのChangeイベントで対応できましたがシート上のコンボボックスだと、どうやればよいのでしょうか?

ワークシートのComboBoxでも(コントロールツールボックスのComboBoxなら)
Changeイベントはありますよ

【60838】Re:ワークシート上のコンボボックスの値...
質問  ペーター  - 09/3/17(火) 16:25 -

引用なし
パスワード
   ▼kanabun さん:
ありがごうございます。
説明不足で申し訳ありません。
コントロールツールボックスのコンボボックスではなく、セル上に入力規則によって作成したコンボボックスなのです。

【60839】Re:ワークシート上のコンボボックスの値...
発言  kanabun  - 09/3/17(火) 16:33 -

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

>説明不足で申し訳ありません。
>コントロールツールボックスのコンボボックスではなく、
>セル上に入力規則によって作成したコンボボックスなのです。

入力規則のことでしたか。。。
では、
最初の質問文は

「現在ワークシート上の複数セルに入力規則があり、
 その中からユーザーが選んだ値を取得したいのです。」

ということになるかと思いますが、そうなると
「ユーザーが選んだ値を取得したい」
の意味がよく分かりません。
セルの値をみれば、それがリストから選択された値なのでは?

理解力が乏しくスミマセン。

【60840】Re:ワークシート上のコンボボックスの値...
質問  ペーター  - 09/3/17(火) 16:47 -

引用なし
パスワード
   ▼kanabun さん:
度々すみません
ユーザーがコンボボックスのリスト内から選択した値を基に、Accessデータベースに接続して関連したデータをExcelシート上に書き込みたいのです。

【60841】Re:ワークシート上のコンボボックスの値...
発言  kanabun  - 09/3/17(火) 17:03 -

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

>ユーザーがコンボボックスのリスト内から選択した値を基に、Accessデータベースに接続して関連したデータをExcelシート上に書き込みたいのです。

さいしょにおっしゃってるように、Worksheet_Changeイベントを利用
するのではダメなんですか?

↓入力規則がセットしてあるセルの値が変更されたとき、そのアドレスを
 出力しています。

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim c As Range
  Set c = Intersect(Target, Cells.SpecialCells(xlCellTypeAllValidation))
  If Not c Is Nothing Then
    Debug.Print Target.Address(0, 0)
    Beep
  End If
End Sub

【60842】Re:ワークシート上のコンボボックスの値...
お礼  ペーター  - 09/3/17(火) 17:07 -

引用なし
パスワード
   ▼kanabun さん:
おおお!入力規則が設定されたセルのみ、という判別も出来るんですね
ありがとうございます!
ちまちま該当セルの行、列番号でIF文組むところでした・・
助かりました! まことにありがとうございます。

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