Excelで、マクロを含んだボタンを作成しました。

そこで質問なんですが、ボタンにもセルと同様にコメントをつけることができるのでしょうか。

ボタンの中にはボタンの題名だけを入力して、どういうマクロが含まれているかなどの詳しい説明はコメントをつけて書きたいのです。このようなことは可能なのでしょうか。

分かりにくい説明で申し訳ないですが、よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

ユーザーフォームのボタンなら、ControlTipTextを使ってできるので、シートに貼り付けたボタンで考えてみました。


多分、VBAのコントロールには機能的には無いと思われるので似たようなことをできるようにしてみました。
ボタンはコントロールツールボックスのボタンとしています。(フォームのボタンではありません)

まず、ボタンで隠れるセルにコメントを書きます(ボタンを動かして)。そのセルを例えば、E5とします。
コメントを非表示にして、ボタンでコメントを書いたセルを隠します。
そのシートのコードウインドウに下記モジュールを貼り付けます。ボタンのコントロール名はCommandButton1です。

マウスをボタンの中央に近づけるとコメントが表示され、ボタンから外れると非表示になるはずです。
コメントの位置は適当に修正します。
マウスがボタンの縦横1/3から2/3にくるとコメントを表示しています。他のコントロールでも可能と思います。
ご参考に。

Private Sub CommandButton1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  Dim myCommentAddress As String
  myCommentAddress = "E5"       'コメントを書いたセル
  With CommandButton1
    Range(myCommentAddress).Comment.Visible = False
    If (.Width / 3 < X And X < .Width * 2 / 3) Then    '1/3、2/3は例
      If (.Height / 3 < Y And Y < .Height * 2 / 3) Then
        Range(myCommentAddress).Comment.Visible = True
      End If
    End If
  End With
End Sub
    • good
    • 0

ボタンにカーソルを当てた時に噴出しを表示して、そこに説明を表示したいということでしょうか?


もし、このボタンがUserForm上のコントロールであれば、「ControlTipText」プロパティで、入力した文字列を表示することができます。
的をはずしていたらすみません。
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q[Excelマクロ]コメントが存在するセルに色をつける

コメントが存在するExcelシートがあります。
マウスカーソルをいちいち当ててコメントがあるかを探すのでは、漏れがありそうなので、

例えば「セルを全選択(Ctrl+A)して、何か操作や処理を実行すると、コメントが存在するセルを赤色で塗りつぶし」というような方法がないものかと探しています。

Excel自体の操作、マクロ、どちらでも構いません。
ご存知の方いらっしゃれば、ご回答宜しく御願い致します。

Aベストアンサー

以下の方法は如何でしょうか。

編集→ジャンプ→セル選択→コメントをチェックオン→OKすると該当セルが反転します。
選択セルの移動はtabキーで可能です。

Qマクロ組んだエクセルをCDに焼き違うパソコンでCDを開きマクロボタンを押すとエラーがでます.

マクロ組んだエクセルをCDに焼き、別のパソコンでCDをあけようとするとマクロが起動しなくなります。

エクセルのマクロを押すとデスクトップのフォルダ〔指導要綱〕の中のフォルダ〔大阪府〕の中のフォルダ〔能勢町〕へいきフォルダ〔能勢町〕の中にPDFがたくさん入ってるんですがその一覧が出るというマクロ

Sub ボタン49_Click()
'
' ボタン49_Click Macro
' マクロ記録日 : 2010/2/18 ユーザー名 : masako-m
'
Shell "explorer.exe ""C:\Documents and Settings\masako\デスクトップ\指導要綱\091104\大阪府\能勢町""", 3
'

End Sub

自分のパソコンでマクロボタンを押すときちんと能勢町一覧でるのですが、違うパソコンでみようとすると添付画像画面がでます。
どないかして起動させたいのですが。。。

Aベストアンサー

おや、まぁ、myRangeです。

回答は出てますが、、、、

その別のパソコンで、
"能勢町"のフォルダーを開くと、
アドレスバーに、パスが表示されますよね。
それをコピペしてやれば確実です。

以上です。
 

Qエクセルのマクロ。 お世話になります。 原紙という名前のシート1に【印刷】や【開始】のマクロボタンの

エクセルのマクロ。
お世話になります。
原紙という名前のシート1に【印刷】や【開始】のマクロボタンのある見積りデータがあります。

【保存】のマクロ入力で
別シートに保存
ナンバリングして見積りを後から見られるようにしたいです。
ナンバリングはZ1にあるとします。

マクロの記録でシートのコピーをするとボタン名が変わったりうまくいきません。
ナンバリングもできません。

VBAで教えて頂ければ助かります。
言葉足らずな点は補足します。
よろしくお願いします。

Aベストアンサー

ひょっとしてですが、見積もりの件数分だけシートが増えていく構成なのでしょうか?
もし、そうでしたらそちらを見直した方が良いです。
提案
見積もりデータのシートを準備
  A     B    C   D  E  ・・・・
ナンバリング 取引先  品名 数量  単価
・・・・
とデータとなる形で入力していきます。
見積もり書のフォームのシート
Z1にナンバーを入れると、必要なデータが抽出されて
見積書となる。

こちらのマクロ考えた方が良いと思います。
もうひとつ作るとすれば
入力用の見積書のフォーマットを準備してボタンを押すと
見積もりデータのシートに追記されるマクロぐらいでしょうか。

QExcel VBAで「プログラム実行」ボタンと「プログラム停止」ボタンをつけたい

ExcelでVBAを使いアプリをつくっています。
プログラムを実行させるボタンはもちろんつくれるのですが、
プログラムを停止させるボタンをつくるにはどうしたら良いのかと悩んでいます。

ボタンに登録できるのはひとつのプロシージャですよね。
とすると「他のプロシージャを止める」プロシージャをつくらねばならないのでしょうか。とするとどうやって・・・?

Aベストアンサー

s_husky です。

状況が判明したので再回答!

Public StopNow As Boolean

Public Sub Test()
  Do Until StopNow
    Sheets(1).Cells(1, 1) = Sheets(1).Cells(1, 1) + 1
    Pause 10
  Loop
  If StopNow Then
    MsgBox "Test の実行をストップしました。"
  End If
End Sub

Public Sub Pause(ByVal PauseTime As Single)
  Dim Finish As Single
  
  Finish = Timer + PauseTime
  Do
    DoEvents
  Loop Until Timer > Finish
End Sub

Private Sub CommandButton2_Click()
  StopNow = True
End Sub

Private Sub CommandButton1_Click()
  Test
End Sub

起動したプロシージャを止める必要があるということはループ処理と理解。
ならば、ループの条件を操作すれば宜しいかと。
CommandButton1 で起動した Test は CommandButton1 で止めれます。

Application.OnTime TimeValue("16:30:00"), "Test"

で起動しようと同じ理屈。

Application.OnTime は、一種の起動ツール。
当然に停止機能もあるが、停止を制御するには上記のような仕掛けが必要と思います。

s_husky です。

状況が判明したので再回答!

Public StopNow As Boolean

Public Sub Test()
  Do Until StopNow
    Sheets(1).Cells(1, 1) = Sheets(1).Cells(1, 1) + 1
    Pause 10
  Loop
  If StopNow Then
    MsgBox "Test の実行をストップしました。"
  End If
End Sub

Public Sub Pause(ByVal PauseTime As Single)
  Dim Finish As Single
  
  Finish = Timer + PauseTime
  Do
    DoEvents
  Loop Until Timer > Finish
End Sub

P...続きを読む

Q別シートのマクロボタンをマクロで実行させることができるかどうか

同ファイルのsheet1~sheet5までのマクロボタンにAマクロを登録してあります。
同じくsheet6~sheet10までBマクロを登録してあります。
sheet11にはsheet1~sheet10までマクロを実行して得られる数字をリンクしています。
sheet11にマクロボタンを作ってsheet1~sheet10までのマクロを実行させたいのですが可能でしょうか。ぜひ方法を教えてください。
※マクロは初心者です。よろしくお願いします。

Aベストアンサー

こんばんは
>Aマクロ・Bマクロともに標準モジュールにあります。
ということは
Sub Macro1()
'
' Macro1 Macro
'

'
〔処理〕
End Sub

Sub Macro2()
'
' Macro2 Macro
'

'
〔処理〕
End Sub

…と10シート分、あると言うことでしょうか?

一番ベタな方法として、Sheet11のボタンから以下のように各マクロをよびだすことができます。各シートのボタンを押さなくてもマクロから他のマクロを実行することが出来ます。

Sub all()
Call Macro1
Call Macro2

End Sub

余談ですが、"Call"は省略しても構いません。サンプルなので、マクロから他のマクロを呼び出しているというのをハッキリさせるためにあえて入れました。


人気Q&Aランキング

おすすめ情報