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を探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで特定の文字列が入っ...
-
[EXCEL]ボタン押す→時刻が表に...
-
エクセル 上下で列幅を変えるには
-
Excel グラフのプロットからデ...
-
特定の文字がある行以外を削除...
-
Excelのフィルター後の一番上の...
-
【Excel関数】UNIQUE関数で"0"...
-
エクセル マクロで数値が変っ...
-
罫線の斜線を自動で引くマクロ
-
EXCELマクロを使い、空白行では...
-
excel 小さすぎて見えないセル...
-
結合されたセルをプルダウンの...
-
エクセル 時間の表示形式AM/PM...
-
VBAで色の付いているセルの行削除
-
エクセルのセルに指定画像(.jpg...
-
excelのデータで色つき行の抽出...
-
AのセルとB行を比較して、一致...
-
アクティブになっている行をマ...
-
EXCELで最後の行を固定
-
EXCEL 「最後のセル」のリセット
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで特定の文字列が入っ...
-
[EXCEL]ボタン押す→時刻が表に...
-
エクセル 上下で列幅を変えるには
-
特定の文字がある行以外を削除...
-
【Excel関数】UNIQUE関数で"0"...
-
VBAで色の付いているセルの行削除
-
Excel グラフのプロットからデ...
-
エクセル マクロ オートフィ...
-
エクセル マクロで数値が変っ...
-
エクセルのセルに指定画像(.jpg...
-
結合されたセルをプルダウンの...
-
AのセルとB行を比較して、一致...
-
罫線の斜線を自動で引くマクロ
-
excel 小さすぎて見えないセル...
-
excelのデータで色つき行の抽出...
-
Excel2007で、指定範囲の行高さ...
-
サイズの違うセル 並べ変え
-
エクセル 時間の表示形式AM/PM...
-
エクセルマクロで偶数行(又は...
-
A1に入力された文字列と同じ文...
おすすめ情報