[[20090903170918]] 『デザインモードのチェックボックスについて』(とよ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『デザインモードのチェックボックスについて』(とよ)
A1セルにデザインモードのチェックボックスを配置しています。
右クリック→プロパティでLinkedCell の欄にB1セルを指定し、
『レ』 チェックがはいるとTrue外れるとFalseが出るようにしているのですが、

この作業をA1セルからA80セルまで簡単に連続して入力することは可能でしょうか?
A2セルならば、LinkedCellがB2セルに、、、というようにオートフィルのようにしたいのです。
お願いいたします。


 ループさせて作っていけば簡単だと思いますよ。

  Sub Test()
  With ActiveSheet
    For i = 1 To 80
      Set r = .Range("A" & i)
      With .OLEObjects.Add(ClassType:="Forms.CheckBox.1", Link:=False, DisplayAsIcon:=False, _
              Left:=r.Left, Top:=r.Top, Width:=r.Width, Height:=r.Height)
        .LinkedCell = "B" & i
      End With
    Next i
  End With
  End Sub

 (momo)

momoさんさっそくのコメントありがとうございます。
ですが、私はVBAの知識が全然ありませんので理解できませんでした、、、(汗
どうしたら良いのでしょうか?

 Alt + F11 を押すとVBEが起動します。
 メニューの挿入から標準モジュールを選びます。
 コードウィンドウ(最初は真っ白です)に上のコードをコピペします。
 コード内の適当なところにカーソルを置いてF5キーで実行します。

 5秒ほどで完成です。

 (momo)

momoさんありがとうございます。
試してみたのですが、実行時エラー1004 オブジェクトを挿入できません
と出て次に進みませんでした(汗

 ん〜 こちらでは正常に出来ているのですがね・・・

 でしたら、チェックボックスをA1に手で貼り付けて、
 A1をA80までフィルしてコピーします。
 ここまで手作業

 で、以下のマクロを同じように実行してみてください。
 A列にあるチェックボックスに自動でリンクセルだけ設定する内容です。

  Sub Test2()
  For Each c In ActiveSheet.OLEObjects 'Shapes
    If c.Name Like "CheckBox*" And c.TopLeftCell.Column = 1 Then
      c.LinkedCell = "B" & c.TopLeftCell.Row
    End If
  Next c
  End Sub

 (momo)

おおー成功しました!!
簡単にできました。
momo様長々とありがとうございました。
(とよ)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.