Excel2016を使っております。
フォームコントロールのボタンを挿入し、そのボタンをクリックすると、そのボタンのあるセルに特定の値が入るコードの作成は可能ですか?
現在、例えばA5セルに値を入れたいときは、A5セルにボタンを配置し、以下のようなコードをボタンに登録しているのですが、行や列のずれがあるとマクロが意図したとおりに動かなくなってしまいます。
Sub button()
Range("A5").Value = "1"
End Sub
No.1
- 回答日時:
ボタンの位置とセルの位置とは関連付けられていません。
ボタンを置いた位置の下に、たまたまそのセルがあるってだけです。だからボタンの位置を変えても、ボタンの動作としては何も変わりません。ボタンの下にあるセルアドレスを検出して動くようにするには、自分でそうしたマクロを書く必要があります。以下でその実例が示されてるんで見てください。
https://www.google.co.jp/amp/blog.systemjp.net/e …
No.2ベストアンサー
- 回答日時:
>A5セルにボタンを配置し、
>そのボタンのあるセルに特定の値が入るコード
'//悪い見本
Sub ボタン1_Click()
Dim btn1 As Shape
Dim loc1 As Range, loc2 As Range
Dim rw As Long
Dim cl As Long
With Application
Set btn1 = ActiveSheet.Shapes(.Caller)
End With
Set loc1 = btn1.TopLeftCell '左上隅
Set loc2 = btn1.BottomRightCell '右下隅
'中点を探す
rw = loc1.Row + (loc2.Row - loc1.Row) / 2 '四捨五入されている
cl = loc1.Column + (loc2.Column - loc1.Column) / 2 '〃
'ボタンの下に値が入る
Cells(rw, cl).Value = 1
End Sub
こういうことはできるけれども、
>行や列のずれがあるとマクロが意図したとおりに動かなくなってしまいます。
人為的にボタンを置いた場合は、ズレは免れません。
そういう場合は、最初からマクロで位置決めをして上げるというのが、通例です。
そうすると絶対にズレはなくなります。
しかし、今回、お話のままのマクロの実行では、ふつうのサイズのボタン(セルより大きいか、セルと同等のサイズ)なら、下に入ってしまいますから、ボタンを動かさなくては値の変化は見れません。
どこかで話そのものが抜けている部分があるのではないでしょうか。
ありがとうございます。
書いていただいたコードでうまく動いたようなんですが、どこかに問題があるのでしょうか。
行の挿入・削除があっても、ボタンを配置したセルに値が入りました。
なお、ボタンがセルに入るように、セルを大きくしてあります。
No.5
- 回答日時:
ためしていただいて、ありがとうございました。
>書いていただいたコードでうまく動いたようなんですが、どこかに問題があるのでしょうか。
値を下に入れると思ったからです。
>ボタンがセルに入るように、セルを大きくしてあります。
それなら大丈夫だと思います。
もし、何かが欠けているというるな、ボタンを右クリックして、コントロールの書式設定の「配置」の
セルに合わせていどうするがサイズ変更はしない
に、●をして置けばよいのかなって思っています。(もちろん、任意の範囲です)
マクロ的には、
Sub ctnContolChg()
Dim btn As Variant
For Each btn In ActiveSheet.Buttons
btn.Placement = xlMove
Next
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】ボタンを押すごとに、A1セル、A2セル、A3セルに日付を入力 3 2023/01/25 00:12
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Excel(エクセル) EXCEL ActiveX コマンドボタンで実行する前にいったんmsgBoxで確認を求めたい 1 2022/07/06 19:41
- Visual Basic(VBA) Excel VBA マクロ ある列の最終行迄を参照し、別の列の空白セルに値を入力したいです 2 2023/03/05 02:44
- Visual Basic(VBA) VBA 複数のブックに同じ列を表示させる方法 2 2022/07/20 23:49
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/08 15:45
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- Visual Basic(VBA) Accessフォームで全レコードを指定のExcelのセルへ転送し印刷する方法について 2 2022/09/08 18:23
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
至急!尿検査前日にオナニーし...
-
白血球が多いとどんな心配があ...
-
腕を見たら黄色くなってる部分...
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
精子が黄色?
-
勃起する時って痛いんですか? ...
-
尿検査前日に自慰行為した時の...
-
尿検査の前日は自慰控えたほう...
-
口の中に黒い血の塊
-
これって喉仏ですか? 私は女性...
-
精子に血が・・・
-
中出しをするとお腹が痛い・・・。
-
納豆食べた後の尿の納豆臭は何故?
-
甲状腺腫れ
-
EXCELで式からグラフを描くには?
-
EXCELで条件付き書式で空白セル...
-
筋トレするとチンコが縮んじゃ...
-
爪が紫色?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
至急!尿検査前日にオナニーし...
-
首吊りどこ締めるの
-
尿検査の前日は自慰控えたほう...
-
尿検査前日に自慰行為した時の...
-
検便についてです。 便は取れた...
-
白血球が多いとどんな心配があ...
-
中出しをするとお腹が痛い・・・。
-
射精をして1週間以内に尿検査を...
-
彼女のことが好きすぎて彼女の...
-
腕を見たら黄色くなってる部分...
-
勃起する時って痛いんですか? ...
-
変な話しになります。尿検査で...
-
これって喉仏ですか? 私は女性...
-
EXCELで条件付き書式で空白セル...
-
男です。昨日の午後3時くらいに...
-
今朝、毎朝の習慣でオナニーし...
-
納豆食べた後の尿の納豆臭は何故?
-
1日前の検尿
-
値が入っているときだけ計算結...
-
精子が黄色?
おすすめ情報