• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルのボタンとマクロを教えてください。)

エクセルのボタンとマクロを教えてください

このQ&Aのポイント
  • エクセルのボタンとマクロについて教えてください。
  • ボタンを押すと指定したフォルダを作成し、ハイパーリンクを記載する方法を教えてください。
  • エクセル2003を使用しており、2000行分のボタンを設置する方法を知りたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

やりたい部分はできているのですよね >完成させたつもりでしたが、フォームからボタンをC列に2000コも >作成しようとすると、設置位置も汚くなるし、なんともスマートにできず >どなたか、スキルのある方にご教授願いたく投稿させていただきました。 2000個もボタンを作っても操作しにくいと思います セルをダブルクリックした場合に 実行 或いは右クリックした場合に   実行では如何でしょうか。 シート名のタブを右クリック、コードの表示をクリック、VBエディターが起動したら Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Column = 3 Then MsgBox "クリックした行は" & Target.Row & "です" End If End Sub Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) If Target.Column = 3 Then MsgBox "クリックした行は" & Target.Row & "です" End If End Sub  を貼り付けて、閉じる c列のセルをダブルクリック、あるいは右クリックしてみ下さい。

sususuke
質問者

お礼

エクセルを一度閉じて、再度開いたら動きました! ありがとうございます。 セル自体をボタンにするという考えはあったのですが 指摘していただいた If Target.Column = 3 Then の コードが思い浮かばず、ボタンへ逃げておりました。 本当に ハッ! っとした思いでした。 大変ありがとうございました!

sususuke
質問者

補足

ご回答ありがとうございます! 貼り付けて試してみましたが、メッセージBOXは 表示されませんでした・・・ 何か必要な初期設定があるのでしょうか??

その他の回答 (1)

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.2

私も先の回答者さんと同感。 ボタンを2000個も配置するのはお勧めできません。 Bookのサイズも大きくなってしまいます。 データ量が増えればボタンも追加しなくてはいけません。 好みの問題かもしれませんが、ハイパーリンクも無しにします。 (↑これは単に面倒くさいからかも (^^ゞ 現状が    A       B     C           D 1 3月4日  法人名  ボタン  作成したフォルダのハイパーリンク でC列が空いているとしたら Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)   Select Case Target.Column     Case 3 'C列       Cancel = True 'ダブルクリックを無かったことにする       '本来の処理に差し替えてください       MsgBox Target.Offset(0, -1).Address & " " & Target.Offset(0, -1).Value       MsgBox Target.Offset(0, -2).Address & " " & Target.Offset(0, -2).Value     Case 4 'D列       Cancel = True       CreateObject("shell.application").ShellExecute Target.Value   End Select End Sub これでD列のセルをダブルクリックした時はフォルダーが開きます ファイル名が入っていたならそのアプリケーションで開かれますし、インターネットのアドレスもOK。 ご参考までに。

sususuke
質問者

お礼

素晴らしいコードをいただきまして誠にありがとうございます! やはり面倒くさいという気持ちはプログラムを向上させる秘訣のようですね。 大変参考になりました。 ありがとうございます!

関連するQ&A