
VBAでチェックボックスを多数設置しようと思います。
Set r = Cells(i, "B")
If Cells(i, "B").Font.Bold = True Then
With r
With CheckBoxes.Add(.Left, .Top, .Width, .Height)
以上はループ処理の一部で、セル内容が太字だったらそのセルの右端にチェックボックスを設置したいのですが、上記のままですとセルの左端に設置されてしまします。
.Left の部分を.Left+50 などとしておおよその値で右にずらすしかないのでしょうか。
左端に設置する時のように右端にスナップしてくれればありがたいのですが。
設置後にAlt+D&Dでも、セルの右端にはスナップしてくれないようです。
No.1ベストアンサー
- 回答日時:
下記方法でも良いでしょうか。
With r
ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", Link:=False, _
DisplayAsIcon:=False, Left:=.Left + .Width - 10, _
Top:=.Top + .Height / 2 - 4.6, Width:=10, Height:=12).Select
End With
Left:=.Left + .Width - 10の10の値を変化させるとセルの横位置変更が可能です。
Top:=.Top + .Height / 2 - 4.6の4.6の値を変化させるとセルの縦位置変更が可能です。
チェックボックスは添付図のようになります。

ご回答ありがとうございます。
フォームの方のチェックボックスのプロパティでは、
試してみた限りでは小数点以下の値は繁栄さてない(?)ようなので、
整数値の範囲で調整しましたが、納得できるように設置できました。
No.2
- 回答日時:
こんにちは。
#1さんのでもよいのですが、ご質問者さんは、フォーム側のオブジェクトをお使いのようなので、
それに合わせれば、このようになるかと思います。確かに、数多くのチェックボックスを設置する場合は、フォームの方が何かと便利な部分はあります。それは、それ自体に、イベントを設ける時です。
以下の場合は、
.Text ="" と一つだけですが、
.OnAction ="マクロ名" を入れれば、一度に同じ設定が出来ます。
>.Left の部分を.Left+50 などとしておおよその値で右にずらすしかないのでしょうか。
基本的には、その通りです。チェックボックスの大きさは正確には分からないような気がしますので、結局のところは試してみるしかありません。右の位置そのものは、セルの.Left + .Widthで分かりますから、そこから引き算します。
'//
Sub TestAddCheckBoxes()
Dim r As Range
For Each r In Range("B1", Cells(Rows.Count, 2).End(xlUp))
With r
If r.Font.Bold Then
With ActiveSheet.CheckBoxes.Add(.Left + .Width - 15, .Top, .Width, .Height)
.Text = ""
End With
End If
End With
Next r
End Sub
'//
ご回答ありがとうございます。
おっしゃる通り自分が設置したいのはフォームの方のチェックボックスでした。
何度か調整して、無事設置できました。
ドラッグ中のAltキーでセルの右端にもスナップしてくれれば便利なのですがね。
.OnAction
については全く知らなかったので勉強になりました。
その点についてもお礼申し上げます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
血小板増加について
-
検便についてです。 便は取れた...
-
首吊りどこ締めるの
-
Excel 数値の前の「 ' 」を一括...
-
レインボーシックスシージをし...
-
エクセルで空白セルを含む列の...
-
腕を見たら黄色くなってる部分...
-
VLOOKUP関数を使用時、検索する...
-
2つの数値のうち、数値が小さい...
-
小数点以下を繰り上げたものを...
-
値が入っているときだけ計算結...
-
病院側から早く来てくださいと...
-
勃起する時って痛いんですか? ...
-
エクセルのラベルの値(文字列...
-
彼女のことが好きすぎて彼女の...
-
Excel条件付書式(残業45時間以...
-
リンク先のファイルを開かなく...
-
エクセルで数式の答えを数値と...
-
MIN関数で空白セルを無視したい...
-
値が入っている一番右のセル位...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
検便についてです。 便は取れた...
-
値が入っているときだけ計算結...
-
彼女のことが好きすぎて彼女の...
-
尿検査前日に自慰行為した時の...
-
VLOOKUP関数を使用時、検索する...
-
Excel 数値の前の「 ' 」を一括...
-
精液の落とし方を教えてください
-
【Excelで「正弦波」のグラフを...
-
2つの数値のうち、数値が小さい...
-
風俗店へ行く前のご飯
-
精子に血が・・・
-
リンク先のファイルを開かなく...
-
小数点以下を繰り上げたものを...
-
EXCELで条件付き書式で空白セル...
-
イタリアから帰国する際、肉製...
-
excelでsin二乗のやり方を教え...
-
腕を見たら黄色くなってる部分...
-
病院側から早く来てくださいと...
-
ワードのページ番号をもっと下...
おすすめ情報