2017-06-27 52 views
0

の2つの質問です。Excel VBA。コンボボックスにデフォルト値を設定する方法と値の色は

1)デフォルト値1をコンボボックスの変数curComboに設定するには、ユーザーがそれを作成すると自動的にデフォルト値1が得られます。

2)値1が緑の背景を示し、値2が黄色の背景を示し、値3が赤い背景を示すように設定する方法。

Sub ComboBox() 

Dim curCombo As Object 
Dim ws As Worksheet 
Dim rng As Range 

Set ws = ActiveSheet 

With ws 

    Set rng = .Cells.Item(ActiveCell.row, 3) 


    Set curCombo = .Shapes.AddFormControl(xlDropDown, _ 
              Left:=rng.Left, _ 
              Top:=rng.Top, _ 
              Width:=rng.Width, _ 
              Height:=rng.Height) 

    With curCombo 
     .ControlFormat.DropDownLines = 3 

     .ControlFormat.AddItem "1", 1 
     .ControlFormat.AddItem "2", 2 
     .ControlFormat.AddItem "3", 3 
     .Name = "myCombo" 

    End With 



End With 

終了ここでサブ コード

+0

'.ControlFormatを使用します.Value'Ex 'curCombo.ControlFormat.Value = 1' –

+0

2番目の質問を理解できませんでした。何の背景色? –

+0

基本的なトラフィックライトソリューションをセルに実装したいと考えています。値1は緑色を示し、値2は黄色を示し、値3は赤色を示します。 – AratioD

答えて

-1

Excelでコンボボックス内の最初の項目を選択OG簡単な方法:

ComboBox.ListIndex = 0

+0

これはActiveXコントロールではありません:)これは動作しません –

0
Sub ComboBox() 

Dim curCombo As Object 
Dim ws As Worksheet 
Dim rng As Range 

Set ws = ActiveSheet 

With ws 

    Set rng = .Cells.Item(ActiveCell.Row, 3) 


    Set curCombo = .Shapes.AddFormControl(xlDropDown, _ 
              Left:=rng.Left, _ 
              Top:=rng.Top, _ 
              Width:=rng.Width, _ 
              Height:=rng.Height) 

    With curCombo 
     .ControlFormat.DropDownLines = 3 

     .ControlFormat.AddItem "1", 1 
     .ControlFormat.AddItem "2", 2 
     .ControlFormat.AddItem "3", 3 
     **.ControlFormat.ListIndex = 1** 
     .Name = "myCombo" 
    End With 


End With 



End Sub 
+0

ControlFormat.ListIndex = 1 - >これが動作することを確認できます。ありがとう! – AratioD

関連する問題