こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

セルの中にもっとも簡単にチェックボックスを置く方法は?

Excel2000を使用しています。

タイトル通りの質問です。いくつものセルにチェックボックスを起きたいと考えています。フォームを使うと大きさが違ったり、なんか違う感じがします。ほかに便利な方法はないですか?

意図することがわかりづらかったら補足致します。

投稿日時 - 2003-07-21 23:14:08

QNo.607584

暇なときに回答ください

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

「もっとも簡単に」ですね。

セルをダブルクリックするだけでチェックボックスが配置されます。

VBAを使用しますが、詳しい操作手順を書きますので、テストしてみてください。

要望の詳細が分かりませんので、取り敢えず、セルの中央付近にチェックボックスの
四角部分だけを表示します。

列を限定して機能させるには、3行目で先頭の ' を消して、"A:A" を希望する
列に変更します。 これでA列だけで機能するようになります。

一応、コードの設定方法を書いておきます。

・使用しているシートのシート名タブを右クリックして「コードの表示」を
 指定します。
・開いたコードウィンドウに下記コードをコピーして貼り付けます。
 (「Option Explicit」があれば、その下付近に)
・Alt+ Q (または、右上隅の×)でウィンドウを閉じ、シートに戻ります。
・以上で設定完了です。 セルをダブルクリックしてみてください。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, _
  Cancel As Boolean)
'If Application.Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub
Cancel = True
With Target
  ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", Link:=False, _
    DisplayAsIcon:=False, Left:=.Left + .Width / 2 - 5, _
    Top:=.Top + .Height / 2 - 4.6, Width:=10, Height:=12).Select
End With
End Sub
 

投稿日時 - 2003-07-22 10:07:20

お礼

みなさん、回答ありがとうございました。失礼ながらこちらでみなさんに感謝の意を表します。

結果、置く方法がいろいろわかりました。実際、コードの回答をもらったのですが、まだお試しできていません(^^ゞ。これから試してみようと思います。

回答頂いただけでもスッキリしました。

投稿日時 - 2003-07-25 03:01:54

ANo.4

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.3

こんにちは。
「大きさが違ったり、なんか違う感じ」、というのがよくわかりません。

チェックボックスの「□」部分(チェックをつける部分)の大きさは、通常同じ大きさになります。
つまり大きさを不揃いにすることの方が難しいのです。

ですから、たぶん「位置が揃わない」ということをおっしゃっているのではないでしょうか。

フォームで作成するのでしたら、複数のチェックボックスを選択状態にしたあと、
VBEのメニューで
 書式-整列-左揃え
です。

ワークシートに配置したコントロールの場合は、
「図形描画」ツールバー(オートシェイプなどを調整するときに使うツールバー)
を使用して、複数のチェックボックスを選択状態にしたあと、
 図形の調整-配置/整列-左揃え
です。

投稿日時 - 2003-07-22 09:36:38

ANo.2

1例としてセルB1:B10にチェックボックスを作る方法
(1)ALTキーを押しながら、F11キーを押す
(2)ALTキーをおしながら、I(挿入)続いてM(標準モジュル)を押す
(3)標準モジュルの画面になる
(4)下記を貼りつけ
Sub Macro1()
Worksheets("sheet1").DrawingObjects.Delete
For i = 1 To 10
ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", Link:=False, _
DisplayAsIcon:=False, Left:=Cells(i, "B").Left, Top:=Cells(i, "B").Top, Width:=Cells(i, "B").Width, Height:= _
Cells(i, "B").Height).Select
Next i
End Sub
(5)F5キー(実行)を押す。
(4)の前半は「マクロの記録」を使っています。
For i = 1 To 10の1がスタート、10が終わり、Cells(i, "B").のBがチェックボックスを置くセルの列を決めています。ここらを変えてください。
ご要求に合えば良いがと思います。

投稿日時 - 2003-07-22 07:00:51

ANo.1

こんばんわ(^^)。とりあえず1つのセルにチェックボックスを貼り付けてそのセルをコピーして、目的のセルに張り付けしてはどうでしょう?それでも、おおきさは変わってしまいましたか?

投稿日時 - 2003-07-22 00:03:30

あなたにオススメの質問