Excel VBA質問箱 IV

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

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


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

【56966】コンボボックス kazu 08/7/15(火) 12:35 質問[未読]
【56967】Re:コンボボックス Jaka 08/7/15(火) 12:52 発言[未読]
【56968】Re:コンボボックス ponpon 08/7/15(火) 13:12 発言[未読]

【56966】コンボボックス
質問  kazu  - 08/7/15(火) 12:35 -

引用なし
パスワード
   Excelのシートのセルに書いた言葉をそのまま
ユーザーフォームのコンボボックスに反映させているプログラムを
以下のように書いています。

Private Sub UserForm_Initialize()
Dim i As Long
  
  With Me.ComboBox1
    For i = 6 To 20
      .AddItem Worksheets("Sheet1").Cells(i, 1).Value
    Next i
  End With
End Sub

ここで質問なのですが、
コンボボックスに文字が反映されている時とされていない時を区別させるものをつくりたくて、if文をもちいて作ってみたのですが

If ComboBox1 = AddItem Then
...

else

...

end sub
で表示させてもうまくいきません

文法的に間違っているのでしょうか・・
アドバイスよろしくお願いします☆

【56967】Re:コンボボックス
発言  Jaka  - 08/7/15(火) 12:52 -

引用なし
パスワード
   ▼kazu さん:
>ここで質問なのですが、
>コンボボックスに文字が反映されている時とされていない時を区別させるものをつくりたくて、
ちょっと意味合いがつかめませんが、

>    For i = 6 To 20
      If Worksheets("Sheet1").Cells(i, 1).Value <> "" then
>       .AddItem Worksheets("Sheet1").Cells(i, 1).Value
      end if
>    Next i

とかじゃダメなんですか?

【56968】Re:コンボボックス
発言  ponpon  - 08/7/15(火) 13:12 -

引用なし
パスワード
   ▼kazu さん:
>
>ここで質問なのですが、
>コンボボックスに文字が反映されている時とされていない時を区別させるものをつくりたくて

↑ここの意味合いが微妙ですが、

jakaさんが言うようにセルがブランクなら、空白がリストとなります。
だから、""じゃない場合のみにリストに追加とするのか?

反映されている時をリストとして追加したときと考えるなら
Me.ComboBox1の ListCountでやったらどうでしょうか?
  文字を追加する前は、ListCountは0で、
  追加するとListCountは15になりますが、空白でもカウントは15です。

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