2009-09-11 6 views

答えて

6
Sub Add_CheckBoxes() 

With ActiveSheet.CheckBoxes.Add(ActiveCell.Left, ActiveCell.Top, ActiveCell.Width, ActiveCell.Height) 
    .Interior.ColorIndex = xlNone 
    .Caption = "" 
End With 

For Each chk In ActiveSheet.CheckBoxes 
    If chk Then MsgBox "Checked" 
Next 
End Sub 
+1

感謝を!できます!しかし、チェックボックスが存在するセルを取得する方法はありますか? – Manoj

+1

あなたが直接見つけることができるかどうか不明です。チェックボックスには、その位置を表すLeftプロパティとTopプロパティの両方があります。 Chk.LeftとActiveSheet.Columns(1).Leftなどの各列のLeftプロパティを順番に比較して、最も近い一致を見つけてから、Topプロパティと各行を順番に繰り返します – barrowc

2

あなたは、このようにそれらをループすることができますチェックボックスを追加したら:

Sub Checkbox_Test() 

Dim chk As CheckBox 
Dim cell As Range 

For Each chk In ActiveSheet.CheckBoxes 
    If chk.Value = Checked Then  '1 is true, but the constant 
     Set cell = chk.TopLeftCell  ' "Checked" avoids "magic numbers". 

     'do whatever with cell 
     MsgBox cell.Address 
    End If 
Next chk 

End Subの返信用

関連する問題