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

VB今日で2週間め!コーデリング教えて下さい!

  • 困ってます
  • 質問No.105652
  • 閲覧数159
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

エクセルVBA初心者で、なんだか何を聞くのも怖い感じなのですが、どのようにコードを書いてよいのか解りません、
どうか御教授お願い致します。
A列のセルがコンボボックスのリストに反映されるようになっています、
Private Sub ComboBox1_Change()
ActiveSheet.ComboBox1.ListFillRange = "A1:A20"
End Sub
コンボボックス内のドロプダウンリスト内に選ぶべき項目がない時に、
コンボボックスに書き込み、Enterを押すとA列のセルに選択項目が
A21・A22・・・・A26と増えていく様にしたいのですが、
どのようにすればよいのでしょうか?
宜しくお願い致します。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.1
レベル13

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

ComboBox1_Change に書くと、既にあるリスト項目から選択した時もイベントが起きますし、うまくいったとしてもListFillRangeが元に戻ってしまうので下記の様にしました。(ComboBox1_Changeには何も書きません)

最初のListFillRangeがA1:A20なら一番最初に、ComboBox1のプロパティ(編集モードでComboBox1を右クリックしてプロパティを選択)のListFillRangeをA1:A20としておけばいいでしょう。下記で追加する毎に更新されていきます。

次のように、ComboBox1_KeyDownに書き、Enterを押した時リストに無ければ、ListIndexが『-1』になります。この時、ListFillRangeを更新するようにしました。

更新する時は、まずListFillRangeを求めておき(セル範囲)、追加するべきセルを求め(1行下)、内容を書き込んでいます。その後、UnionでListFillRangeを、2つの範囲を結合したセル範囲に再定義しています。

Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
'Enterを押した場合の処理
If KeyCode = vbKeyReturn Then
'ComboBox1.Textがリストに無い場合
If ComboBox1.ListIndex = -1 Then
Dim myFillRange As Range 'ComboBox1の内容リスト
Dim myAddRange As Range '付け加えるセル
'追加前のListFillRange・・・セル範囲1
Set myFillRange = Range(ComboBox1.ListFillRange)
'追加する位置(追加前のListFillRangeの次の行)・・・セル範囲2
Set myAddRange = Range("A" & (myFillRange.Rows.Count + 1))
'ComboBox1に入力した値を登録
myAddRange = ComboBox1.Text
'ListFillRangeを更新する(セル範囲1とセル範囲2の結合)
ComboBox1.ListFillRange = Union(myFillRange, myAddRange).Address
End If
End If
End Sub

うまくいけばいいですが。では。
お礼コメント
noname#53281

すごい!
完璧にうごきました!
大変ありがとう御座います。
それにしてもA1:A20は、
プロパティで設定出来たんですね!
なんと言う無駄な努力をしていたのかと
ナサケなく思います。
これからも、宜しくお願いします。
投稿日時 - 2001-07-18 07:16:39
-PR-
-PR-
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

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

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

特集


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

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ