• ベストアンサー

VBAコンボボックスについて

初歩的な質問ですが もしコンボボックスで1行目を選べば~をする。 2行目を選べば~をする。といったマクロを考えています。 if combobox1.listindex=1 と記入するだけでは機能しません。 with combobox.listindex=1 とすると機能しますがwithを文頭に入れるとifが使えないため条件で項目を分けれませんが、どういった表現に変えたらよいでしょうか?

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

質問には ・エクセル関連かどうか明確に書け。アクセスやその他もある。 ・コントロールを、どこに作ったか質問には明確に書け。 ・エクセルの場合でもシート上か、ユーザーフォーム上明確に書け 本件は、シートにコンボボックスを1つ貼り付け(Activexの方) Private Sub ComboBox1_Change() MsgBox Worksheets("Sheet1").ComboBox1.ListIndex n = Worksheets("Sheet1").ComboBox1.ListIndex MsgBox (n + 1) & "番目が選ばれた" If n = 0 Then MsgBox "一番上が選ばれた" Else MsgBox "その他 一番上でない" End If End Sub これが参考にならないか。特に、疑問点はないように思うが。 的外れの回答ならスルーして。 ーー操作的には下記になるのかな 'シートにActivexのコンボを貼り付け 'シートのコンボを選んでおいて、コードの表示 'GeneralのCombobox1を選んで 'DeclarationでChangeを選んで '下記コードを作る 'デザインモードを脱して 'シートに戻り 'アイテムをどれかクリック

関連するQ&A