advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 978 for チェックボックス (0.008 sec.)
[[20030927184842]]
#score: 5499
@digest: a2072c677d7fa16b74f3bc2cf4771f8e
@id: 3524
@mdate: 2003-10-01T02:07:29Z
@size: 2916
@type: text/plain
#keywords: checkcount (20578), ccnt (8227), クボ (5507), oleobjects (3996), checkbox (3398), トト (2493), sanynet (2327), チェ (2227), ェッ (2017), ボッ (1637), ト方 (1548), ック (1411), クス (1314), クさ (1127), トロ (974), ル( (800), 世界 (783), cnt (702), excelvba (673), object (647), デア (645), ール (639), リン (629), function (621), ンク (618), でチ (601), イデ (573), ツー (545), 準モ (509), カウ (488), ロー (452), コン (451)
チェックボックスのカウント方法』(トトちゃん)
コントロールツールボックスでチェックボックスを作りましたが、チェックされた数の集計をしたいのですが? いきずまっています。教えてください。 チェックボックスをセルにリンクさせる方法と、TRUEの数を数える為の、関数?を教えてください。よろしくお願いします。 ---- >チェックボックスをセルにリンクさせる方法 何をリンクしたいのか、よく分かりませんが、 Range("A1").Value = CheckBox1.Value とすれば、A1に True / False が表示されます。 >TRUEの数を数える為の チェックボックスの数に応じて、i の値を変更して下さい。 Sub Sample() Dim i As Long Dim cnt As Long For i = 1 To 3 If OLEObjects("CheckBox" & i).Object.Value = True Then cnt = cnt + 1 End If Next i MsgBox cnt End Sub (INA) ----- ありがとうございます。教えていただいた方法は、どこの部分へ打ち込めばよいのでしょうか? もう少し詳しく書かせていただきます。 例えば、A1・B1・C1・D1の上にチェックボックスを作り、そのチェックされた数をE1に、カウントしたいわけです。 こんな説明で理解して頂けるでしょうか? ---- VBEの標準モジュールにでもコピペして下さい。 Sub Sample() Dim i As Long Dim cnt As Long For i = 1 To 4 '←チェックボックスの数 If OLEObjects("CheckBox" & i).Object.Value = True Then cnt = cnt + 1 End If Next i Range("E1").Value = cnt 'E1セルに出力されます。 End Sub マクロについては、以下のサイトが参考になると思います。 http://www.sanynet.ne.jp/‾awa/excelvba/kouza.html (INA) ---- 質問とずれるかもしれませんが、「フォーム」の「チェックボックス」を使うのは いかがでしょう? 作り方: 表示→ツールバー→フォームにチェックを入れる 出てきたツールを使ってチェックボックスを作る。 作ったチェックボックスを右クリックして、コントロールの書式設定で、 リンクするセル(例えば$A$1)を指定する。 (チェックの有無によって、このセルに「TRUE」または「FALSE」が入ります) 後は、これらのリンクさせたセル(例えばA1〜D1)の中の「TRUE」の数を =COUNTIF(A1:D1,TRUE) で数えます。この方法ではマクロを使わずにできます。 (ちゅうねん) ---- [INA]さんのアイデアを参考に、Functionにしてみました。 VBEの世界で標準モジュールに下のコードを貼り付けてから、 ワークシートに=CheckCount()でチェックされた数が表示できます。 あとでチェックを変更した場合、↓のように再計算が必要です。 シートをクリックしてから [CTRL]キーを押したまま[ALT]キーを押したまま[F9]キーを押す。 (kazu) Function CheckCount() Dim ccnt As Integer, sp As Object ccnt = 0 For Each sp In ActiveSheet.Shapes If Mid(sp.Name, 1, 8) = "CheckBox" Then If ActiveSheet.OLEObjects(sp.Name).Object.Value = True Then ccnt = ccnt + 1 End If End If Next CheckCount = ccnt End Function ---- For Each を使うとすべてのShapesオブジェクトを参照するので、 他にたくさんコントロールを配置していると遅くなるかもしれません。 (INA) ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/200309/20030927184842.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97013 documents and 608132 words.

訪問者:カウンタValid HTML 4.01 Transitional