No.2ベストアンサー
- 回答日時:
こんにちは。
>あとはVBAが対象レコードを処理するみたいな感じです。
うーん、伝わってこないです。「対象レコードを処理するみたいな感じ」というのは、どういう意味でしょうか?ごめんなさい。私は、こういう表現が良く分からないのです。マクロの呼び出しでしょうか?
以下のようにすれば、入力すれば、チェックボックスが追加できます。
一応、簡単な、フォーム側にしてありますが、コントロールツール側(OLEObject ->基本的にはマクロのみの処理になる)ものも出来ます。位置は、一応、B列の同じ行の真ん中のつもりなのですが、チェックボックスの幅が、真ん中よりわずか右よりにさせます。
Int(Target.Width / 2) の部分で調整してください。例:その括弧「)」の後に、-2 などを入れる。「+(プラス)」が右、「-(マイナス)」が左
コントロールツール側は、調整は必要ないような気がしますが、キャプションを削除しても、イベント領域が、白でくり抜かれます。Excel2003では、ワークシート上では、フォーム側のほうが、出来上がりはきれいです。(たぶん、印刷すれば、変わらないはずです)。ただし、フォームのツールは旧バージョンのものですから、将来性が保証できません。
'------------------------------------------------------------
'シートモジュール
Private Sub Worksheet_Change(ByVal Target As Range)
Dim obj As Object
If Target.Column <> 1 Then Exit Sub 'A列指定
If IsEmpty(Target.Value) Then Exit Sub '値入力指定
If Target.Count > 1 Then Exit Sub '複数セル除外
For Each obj In Me.CheckBoxes '既にB列にある場合は除外
If Not Intersect(obj.TopLeftCell, Target) Is Nothing Then Exit Sub
Next obj
With Me.CheckBoxes.Add(Target.Offset(, 1).Left + Int(Target.Width / 2), Target.Top, Target.Width, Target.Height)
.Caption = ""
.Visible = True '通常なくても良いが、繰り返しに必要
End With
End Sub
No.1
- 回答日時:
フォームのチェックボックスをシートに配置する
作業をマクロの自動記録したらコードが取れま
した。
あとは配置場所をセルのTop、Leftで調整するコード
を付加するだけです。
マクロの記録中にリンクするセルを設定するのも忘
れずに。
コードが出来たら、
シートモジュールのチェンジイベント用に改造しま
しょう。
TargetのColumnが1だったら、というので条件分岐
すればいいように思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルVBAでチェックボックスにチェックを入れる 1 2022/09/14 00:52
- Excel(エクセル) Excelにの以下の設定方法について教えてください! C列にデータ入力の設定をしています。(出、入を 3 2022/06/22 01:33
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) エクセルでフォームのチェックボックスを使用した日付表示切替を作りたい 3 2023/07/11 10:47
- Visual Basic(VBA) Excel VBAの解読について質問があります。 概要は、マクロでチェックボックスにチェックすると日 1 2023/02/10 07:50
- Visual Basic(VBA) tatsumaru77様 昨日回答して頂いたものです。 すみませんが、昨日の質問で1つ補足があります 1 2022/05/15 15:06
- Excel(エクセル) VBA 特定の列に入っているテキストをコピペ 2 2023/06/14 11:24
- Visual Basic(VBA) エクセルVBA 4 2022/05/14 00:51
- Access(アクセス) チェックボックスにチェックが入った後の挙動 1 2022/08/21 12:39
- Excel(エクセル) スプレッドシートのチェックボックスとフィルタを連携させたい 2 2022/09/26 18:02
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい
Visual Basic(VBA)
-
EXCELでチェックボックスに自動的にチェックを入れる方法
Excel(エクセル)
-
VBAでのチェックボックスの自動作成
その他(プログラミング・Web制作)
-
-
4
エクセルVBAでチェックボックスにチェックを入れる
Excel(エクセル)
-
5
エクセルでチェックボックスをクリックしたらセルに数値を入力&消去
Excel(エクセル)
-
6
エクセル・VBA CheckBoxのオブジェクト名に変数を使うことは可能でしょうか?
Excel(エクセル)
-
7
エクセルVBAで結合セルの真ん中にチェックボックスを作成する方法を教え
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Excel関数】UNIQUE関数で"0"...
-
Excel ウインドウ枠の固定をす...
-
エクセル マクロ オートフィ...
-
[EXCEL]ボタン押す→時刻が表に...
-
エクセル マクロで数値が変っ...
-
エクセルVBA 最終行を選んで並...
-
電話番号の入力方式が違うデー...
-
エクセルで特定の文字列が入っ...
-
エクセルVBAのEntireRow.Hidden...
-
エクセルのマクロで意図しない...
-
excel 同じ番号のデーターを横...
-
エクセルマクロで偶数行(又は...
-
EXCELで最後の行を固定
-
EXCELマクロを使い、空白行では...
-
Excel2007で、指定範囲の行高さ...
-
結合されたセルをプルダウンの...
-
アクティブになっている行をマ...
-
エクセル2016で時間を入力して...
-
EXCEL 「最後のセル」のリセット
-
連続データが入った行の一番右...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで特定の文字列が入っ...
-
エクセル マクロ オートフィ...
-
【Excel関数】UNIQUE関数で"0"...
-
結合されたセルをプルダウンの...
-
[EXCEL]ボタン押す→時刻が表に...
-
excel 小さすぎて見えないセル...
-
AのセルとB行を比較して、一致...
-
エクセル マクロで数値が変っ...
-
エクセル 上下で列幅を変えるには
-
excelのデータで色つき行の抽出...
-
Excel グラフのプロットからデ...
-
エクセル2016で時間を入力して...
-
VBAで色の付いているセルの行削除
-
特定の文字がある行以外を削除...
-
連続データが入った行の一番右...
-
エクセルVBA 最終行を選んで並...
-
エクセルのセルに指定画像(.jpg...
-
エクセルで昨日までの日付デー...
-
エクセルマクロで偶数行(又は...
-
A1に入力された文字列と同じ文...
おすすめ情報