プロが教える店舗&オフィスのセキュリティ対策術

VBAコード


VBA初心者なのですが、ボタンを押すとボタンの名前がB列に順番に入っていくマクロを作りたいです。



EX)

“SIZE” というボタンを押す→B2に”SIZE”と入力

“SIZE” というボタンを押す→B3に”SIZE”と入力

“NOISE”というボタンを押す→B4に”NOISE”と入力



どのようにVBAを記述すればよいでしょうか?

教えてください。

よろしくお願いします。

A 回答 (3件)

こんにちは。



まず、ボタンの種類が書かれていませんので、こちらは、マクロとしては面白みのあるフォームコントロールのマクロにさせていただきます。

'//標準モジュール (各ボタン、コードは同じです)

Sub EnterCaption()
 Dim oName As Variant
 Dim capName
 oName = Application.Caller
 If TypeName(oName) = "String" Then
  capName = ActiveSheet.Shapes(oName).DrawingObject.Text
  Cells(Rows.Count, 2).End(xlUp).Offset(1).Value = capName  'B列=2
 End If
End Sub
    • good
    • 1
この回答へのお礼

早速ありがとうございます!
動くのを確認出来ました!

もし可能であれば、色などが変えれるActive Xのボタンも教えて頂けると有難いです。

お礼日時:2018/11/10 21:59

こんばんは。



'//シートモジュール
Private Sub CommandButton1_Click()
 Dim capName As String
 capName = Me.CommandButton1.Caption
 Cells(Rows.Count, 2).End(xlUp).Offset(1).Value = capName
End Sub
Private Sub CommandButton2_Click()
 Dim capName As String
 capName = Me.CommandButton2.Caption
 Cells(Rows.Count, 2).End(xlUp).Offset(1).Value = capName
End Sub

ふつうは、このように個別のマクロになってしまいます。
    • good
    • 0
この回答へのお礼

またまたありがとうございます。
試してみると目的の動作はしたのですが、、ボタンを押すたびにボタンの中のフォントが小さくなってしまいます。。(ボタン内の文字のフォントを固定し直しても同様です。)

今回初めてActive Xボタンを使ったのですが、ネットでみると表示のバグが過去何件か散見されてるようです。こちらもエクセル2016のバグなのかなと思いました。

どちらにしましても大変勉強になりました。ありがとうございます。

お礼日時:2018/11/11 09:21

こんばんは。



>ボタンを押すたびにボタンの中のフォントが小さくなってしまいます。。(ボタン内の文字のフォントを固定し直しても同様です。)

Microsoftからの対応は不明ですが、そういう現象は報告されています。
https://stackoverflow.com/questions/19385803/how …
対処法は再起動すると書いている人がいますが、それは現実的ではありません。

ActiveX のボタンは、こちらでは、突然消えてしまうという現象が現れ、急遽、フォームコントロール側のボタンに切り替えた経験があります。Windows10のセキュリティとの関係からのようです。
    • good
    • 0
この回答へのお礼

なるほど!詳しくありがとうございます。
とりあえずはフォームコントロールで対応します◎

お礼日時:2018/11/11 23:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!