• ベストアンサー

教えて VBA(チェックボックス)利用の構文-1

画像が見にくくてすみません。 これは、チェックボックスに1の場合にExcelに入力するものです。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

>スタートを左端ではなくAY14から スタートしたい >すべてのチェックボックスが一旦クリアされる private sub CommandButton1_Click()  dim c, i, n  me.label1.caption = val(me.label1.caption) + 1 ’14行からスタートしたい  n = val(me.label1.caption) + 13 ’AY列からスタートしたい  i = 50  for each c in me.controls   if typename(c) = "CheckBox" then    i = i + 1    cells(n, i) = iif(c.value, 1, "")   ’ボタンをクリックして「処置をした後に」クリアしたい    c.value = false   end if  next end sub >スタートを左端ではなくAY14から スタートしたい 元のご相談はそうではありませんでしたね。 どうしてこういう二度手間三度手間になったか、よく考えて下さい。

yu-karankoron
質問者

お礼

勉強になりました。 また、説明不足でお手数をおかけしましたが やりたいことが、できました。 本当にありがとうございました。

その他の回答 (2)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

28個のチェックボックスと1個のコマンドボタン、1個のラベルコントロールをフォームに配置 private sub CommandButton1_Click()  dim c, i, n  me.label1.caption = val(me.label1.caption) + 1  n = val(me.label1.caption)  for each c in me.controls   if typename(c) = "CheckBox" then    i = i + 1    cells(n, i) = iif(c.value, 1, "")   end if  next end sub コマンドボタンを1クリックするごとに「1処理」が進む。

yu-karankoron
質問者

補足

回答ありがとうございます。 使わせていただきたいのですが 2つほどお聞きします。 (1) スタートを左端ではなくAY14から スタートしたいので Range("AY14").Select としましたが、うまくいきません。 どこに記載したらよいですか?   (2) コマンド1クリックすると すべてのチェックボックスが一旦クリアされる。 以上、よろしくお願いします。 私が計画しているとおり教えていただき、ありがとうございます。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

唐突に「これは」と言われても、いったい何の話をしているのですか? 具体的に、どのチェックボックスはどこ番地のセルにどうしたいのか、具体的なあなたのエクセルの様子を目に見えるように説明してみて下さい。

yu-karankoron
質問者

補足

失礼しました。 チェックボックスを使って Excelで チェックがあるものに1を入れたいです。 横は28項目で縦は100行です。 1処理は28項目 処理後に 2行目の先頭に移る順番で100行目まで続いています。    B    C     D   たぬき きつね  天ぷら ・・・・・・ 28項目 1    1         1 2    1   1 3    1 4    1 100      1 わかりにくい説明ですみません。 よろしくお願いします。  

関連するQ&A