Excel VBA質問箱 IV

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

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


19657 / 76732 ←次へ | 前へ→

【62503】Re:コンボボックスについて
発言  kanabun  - 09/7/27(月) 7:47 -

引用なし
パスワード
   >
>> ComboBoxでクリックイベントがあったら、選択セルに選択
>> アイテムを代入。
>Private Sub ComboBox1_Change()
>  If NoChange Then Exit Sub
>  Application.EnableEvents = False
>  ActiveCell.Value = ComboBox1.Value
>  ActiveCell.Offset(1).Select
>  Application.EnableEvents = True
>End Sub

の部分ですが、以下のように差し替えておきますね
理由は、そんなケースが実際あるのか分からないのですが、
ComboBoxですでに選択されている(表示されている)アイテムを
アクティブセルに代入しようとしても、
ComboBox1_Change()
イベントは起きないので、今のコードだと、表示されているアイ
テムを連続してセルに送る方法がないからです。

↓では、ComboBox1上で[Enter]キーを押すと、表示アイテムを
 セルに転記するようになっています。


'------------------------
'ComboBoxでクリックイベントがあったら、選択セルに選択
'アイテムを代入。
Private Sub ComboBox1_Change()
  If NoChange Then Exit Sub
  Call CopyItemToActiveCell
End Sub

Private Sub CopyItemToActiveCell()
  Application.EnableEvents = False
  ActiveCell.Value = ComboBox1.Value
  Application.EnableEvents = True
  ActiveCell.Offset(1).Select
End Sub

'ComboBoxの表示部(TextBox)に現在表示されている項目を
'セルに転記したいときは、〔Enter〕キーを押す
Private Sub ComboBox1_KeyUp(ByVal KeyCode As _
  MSForms.ReturnInteger, ByVal Shift As Integer)
  If KeyCode.Value = vbKeyReturn Then
    Call CopyItemToActiveCell
  End If
End Sub
'------------------------

80 hits

【62487】コンボボックスについて あの 09/7/24(金) 22:30 質問
【62492】Re:コンボボックスについて その 09/7/25(土) 15:57 発言
【62493】Re:コンボボックスについて あの 09/7/25(土) 21:48 質問
【62494】Re:コンボボックスについて kanabun 09/7/25(土) 22:00 発言
【62496】Re:コンボボックスについて kanabun 09/7/26(日) 9:06 発言
【62503】Re:コンボボックスについて kanabun 09/7/27(月) 7:47 発言
【62521】Re:コンボボックスについて あの 09/7/28(火) 15:12 お礼

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