
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel グラフのプロットからデ...
-
罫線の斜線を自動で引くマクロ
-
EXCELで最後の行を固定
-
エクセル マクロ等を利用した各...
-
エクセル マクロで数値が変っ...
-
エクセル マクロ オートフィ...
-
アクティブになっている行をマ...
-
エクセルで特定の文字列が入っ...
-
エクセルの列幅以上の文字列を...
-
エクセル2016で時間を入力して...
-
エクセル 時間の表示形式AM/PM...
-
【マクロ】book1からbook2への...
-
Excelマクロ 期間を指定してデ...
-
エクセルで特定の文字から改行
-
【マクロ】Excelでコンタクトシ...
-
Excel VBA アクティブセルから...
-
別シートに空白セルを詰めデー...
-
電話番号の入力方式が違うデー...
-
excel 小さすぎて見えないセル...
-
【Excel関数】UNIQUE関数で"0"...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル 上下で列幅を変えるには
-
【Excel関数】UNIQUE関数で"0"...
-
Excel グラフのプロットからデ...
-
[EXCEL]ボタン押す→時刻が表に...
-
エクセル マクロで数値が変っ...
-
excel 小さすぎて見えないセル...
-
結合されたセルをプルダウンの...
-
特定の文字がある行以外を削除...
-
Excelのフィルター後の一番上の...
-
エクセル マクロ オートフィ...
-
Excelで非表示のセルをとばして...
-
エクセルで特定の文字列が入っ...
-
罫線の斜線を自動で引くマクロ
-
A1に入力された文字列と同じ文...
-
エクセルVBA 最終行を選んで並...
-
EXCELで最後の行を固定
-
Excel ウインドウ枠の固定をす...
-
Excel 時刻の並び替え
-
電話番号の入力方式が違うデー...
-
VBAで色の付いているセルの行削除
おすすめ情報