• ベストアンサー

エクセル マクロ 表示ボックス?

エクセル2002を使用しています。 「コントールツールボックス」の「スクロールバー」を動かしている際に 表示ボックス?で現在の数値を表示させることができるコマンドがあるのでしょうか? よくファイルやメニューにマウスをのせると表示される添付のような表示ボックスです。 リスクしているセルは、別シートに配置しているため、数値を把握するには、 シートを変える必要があるので、できれば表示メッセージ系のマクロなどあったら助かります。 ご教授して頂けると助かります。

この投稿のマルチメディアは削除されているためご覧いただけません。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

>表示ボックス たぶん、VBのToolTip のことだと思いますが、VBAでは、ControlTipText は似てはいます。 スクロールバーを、動かしている最中は、現れません。スクロールバーをからマウスを離し、再度、触ることで、数値が現れます。 Private Sub ScrollBar1_Change()  ScrollBar1.ControlTipText = ScrollBar1.Value End Sub 常時みるのでしたら、ラベルを上手に使ったほうが確実かもしれませんね。 「シートを変える必要があるので」ということと、ポップアップ表示とはどういう関係があるのか、あまり想像が付きません。実験的に試すなら、まだ他にあるようには思うのですが、試してみないと、分かりません。

paci12451
質問者

お礼

返信ありがとうございます。ラベルも考えてみます。

その他の回答 (2)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

#1 の回答者です。返事が遅くなりました。 ご希望のコードか分かりませんが、コードを作りましたので、コメント等に気をつけて貼り付けてください。改編する場合などは、気をつけて行ってください。ハングします。 あまり良く分からないようでしたら、そのままお使いになるか、新たに質問してください。 マウスカーソルに対して、表示するPopUpMenu を利用したものです。 '標準モジュール(上部から貼り付ける) 'Option Explicit Public Const MF_STRING = &H0& Public Const MF_SEPARATOR = &H800& Public Const TPM_LEFTALIGN = &H0& Public Const TPM_RETURNCMD = &H100& Public Type POINTAPI  x As Long  y As Long End Type Public Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long) Private Declare Function CreatePopupMenu& Lib "user32" () Private Declare Function AppendMenu& Lib "user32" Alias "AppendMenuA" (ByVal hMenu&, ByVal wFlags&, ByVal wIDNewItem&, ByVal lpNewItem As Any) Private Declare Function TrackPopupMenu& Lib "user32" (ByVal hMenu&, ByVal wFlags&, ByVal x&, ByVal y&, ByVal nReserved&, ByVal hWnd&, lpReserved As Any) Private Declare Function DestroyMenu& Lib "user32" (ByVal hMenu&) Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As Long) As Long Private MPtr As POINTAPI Private pt3 As POINTAPI Public CtrlValue As Long Public Function PopUMn(h As Long) As Long Dim hMenu As Long On Error GoTo ErrHandler hMenu = CreatePopupMenu() AppendMenu hMenu, MF_STRING, 0&, CStr(CtrlValue) '"&New..." GetCursorPos MPtr PopUMn = TrackPopupMenu(hMenu, TPM_LEFTALIGN Or TPM_RETURNCMD, MPtr.x + 10, MPtr.y, 0, h, ByVal 0&) ErrHandler: DestroyMenu hMenu End Function '---- 'シートモジュール Private Sub ScrollBar1_Change()  Dim hWnd As Long  CtrlValue = ScrollBar1.Value  hWnd = FindWindow("xlMain", 0&)  PopUMn hWnd  ' PopUMn Application.hWnd 'Excel 2003 以上か End Sub

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

スクロールバーの直ぐ上に適当な大きさのテキストボックスを貼り付ける。 Private Sub ScrollBar1_Change() Worksheets("Sheet1").TextBox1.Text = Worksheets("Sheet1").ScrollBar1.Value End Sub 数字が変化して、出るようだが ーーー ミスタイプ? コントールツールボックーー>コンロトールツールボック リスクしているーー>リンクしている でしょう。 添付のような表示ボックスーー>画像が見えない コントロールチップステキストのことか? ーー ユーザーフォーム上のスクロールバーのプロパティにはあるが、シート上に貼り付けるスクロールバーには無いようだ。

paci12451
質問者

お礼

返信ありがとうございます。

関連するQ&A

  • エクセルマクロ スクロールバーとセルの同機

    エクセル2002を使用しています。 「コントロールツールボックス」の「スクロールバー」のScrollBar1_Change()を使用し、下記のマクロは どのようにすれば良いでしょうか。 Sheet1のA1の条件が記載され、Sheet2の1列目で条件を判定し、2列目の条件下のセルの数値を Sheet1のA2に表示し、Sheet1に置いた「スクロールバー」で、Sheet1のA2の数値を変更したいです。 ※Sheet1のA1の条件は、適宜変更し、Sheet2から持ってきたいです。 「スクロールバー」数値ととSheet1のA2に数値、Sheet2の該当セルの数値は、常に同機させたでいす。 こんなこと可能でしょうか?

  • エクセルのマクロに付いて教えてください。

    エクセルのマクロに付いて教えてください。 コマンドボタンで、A1セルに1と表示されたときにはSheet1へ、A1セルに2と表示されたときにはSheet2へ移動出来るようにしたいのですが、どうしても分かりません。 諸先生方のお知恵を拝借したいです。よろしくお願いします。

  • エクセルでスピンボタンとスクロールバーについて

    エクセルでスピンボタンとスクロールバーについて エクセル2000です。 フォームのスピンボタンとスクロールバーをワークシート上に配置した場合、両者ともほぼ同じ働きをしてくれます。 ところが、大きな違いが有ります。 スピンボタンは上向き▲で数値が大きくなっていきます。これは感覚的にしっくりきます。 ところが縦向きのスクロールバーは上向き▲で数値が逆に小さくなっていきます。これはちょっと違和感があります。 それなら、スピンボタンを使えばいいだけのことと言われそうですが、スピンボタンにはバーがないのでスライドさせて数値を動かすことができないのでスクロールバーを使いたいのです。 もちろん数式を用いて、セルの表示上でそうなるようにはできますが、それではリンク先セルに直接数値を入力ができなくなり不便です。 スクロールバーで上向き▲で数値が大きくなるような設定にはできないのでしょうか? スクロールバーを縦ではなく横向きに配置すれば右スクロールで数値が増え、数直線と同じでしっくりくるのですが、レイアウトの都合で縦向きに配置したいのです。 わがままな質問ですみません。 よろしくお願いします。 (o。_。)oペコッ. (なお、同じ質問を1時間ほど前に投稿したつもりだったのですが、なぜか反映されていないので再度質問いたしました。もし二重になっていたら申し訳ありません。)

  • マクロの組み方とチェックボックスに関して

    【マクロ】の設定とチェックボックスを一括ではずす方法 1.マクロは新しいマクロの記録しか使ったことがないのですが、以下のことをやるとうまくいきません。 ・「目次」というセル以外を選択 ・B列を選択し、「ジャンプ」→「セル選択」→空白セルにチェックマーク ・「書式」→「行」→「表示しない」 以上のことをマクロに記録したいです。 マクロでなければうまく反映したのですが、新しいマクロの記録からだとうまく行きません>< 2.チェックボックスを一括(全シート)ではずす方法がありましたら教えて下さい!! ツールバーから作ったので図形のようになっていて、全シート選択すると○になってしまい選択できないのです。。

  • エクセルVBAでコンボボックス

    エクセルVBAのコンボボックスの使い方について質問します。 実現したいプログラムは 「チェックボックスから選んだ数字で計算するプログラム」 です。 具体的には… まず、コンボボックスをシート上に配置します。そのコンボボックスには 数字の1から10を選べるようにしておきます。 次に、コマンドボタンを配置します。これは単にプログラムをスタート させる目的です。 ユーザーは、まずコンボボックスから好きな数字を選択します。 そしてスタートボタン(コマンドボタン)を押します。 すると、選んだ数字の2倍がセルに表示されます。 さらに発展系としては… チェックボックスを4つ配置します。各チェックボックス には、+、-、×、÷を割り振っておきます。 また、コンボボックスを2つ用意し、それぞれ1~10の数字をリストにします。 ユーザーは、チェックボックスから好きな記号を選び、さらにコンボボックスから 好きな数字を選びます。そしてスタートボタンを押すと、選んだ数字を選んだ記号 で計算した値がセルに表示されます。 というようなプログラムを考えているのですが、うまくできません。 ポイントは、 ・チェックボックスにリストを入力する方法 ・チェックボックスの選択状態や、リストボックスから選ばれた数字を、  変数として取得する方法 インターネットで調べているのですが、リストボックスに値を入れるのにもマクロを走らせ なければならない方法とか、ユーザーフォームでの説明ばかりでなかなか実現に至りません。 http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_userform05.html プログラムのイメージ図としては添付の図の通りです。 どのようにプログラムを書けばいいのでしょうか。

  • エクセルマクロで別のシートを検索して表示

    エクセルのマクロで次の様な検索が出来るようにしたいのです。 シート1にあるセル(毎回同じセルとは限らない)に、 「出席者」という文字が入っています。 その直下のセルに名前(毎回違った名前)が入っています。 例 A5=出席者 A6=山田、田中、鈴木 この名前(例のシート1のA6)データをシート2の特定のセルに表示させたいのです。 シート2にボタンを配置してそれをクリックしたら表示できるという風に。(シート2の特定のセルは仮にB10とします) 出席者と名前は毎回同じ位置関係ですが、 表示されるセルは決まっていません。 このような作業をマクロで出来ますか? 出来るのでしたらそのマクロを教えて頂けますか? 初心者です、分かり易い回答をよろしくお願いいたします。

  • 表示形式を変えるマクロのコードは?エクセル2010

    エクセル2010です。 よろしくお願いします。 特定の範囲のセル範囲(I7:M29)の表示形式が数値、-1234 文字色赤となっています。 それを 特定のセル範囲に数値を入力し終わって セル範囲のあるセルを選択した状態で あるコマンドボタンをクリックしたら、そのセルの表示形式を(1234) 文字色赤 としたいのですが また あるコマンドボタンをクリックしたら  特定の範囲(I7:M29)を最初の状態、 表示形式 -1234 文字色赤にしたいのですが マクロでの使用は どういったコードが 考えられますでしょうか?

  • エクセルのマクロでシートを表示させる

    マクロ初心者です。 1つのブックに20シート入っているのですが、 チェックBOXにチェックを付け、該当するシートのみを表示させるマクロを教えてください。 sheet1以外の下記のシートA~Dは非表示になっており sheet1にはシート名 A B C D というチェックBOXがあり、 例えば、Bにチェックを入れるとBのシートが表示され、 AとDなど複数チェックが入るとチェックしたシートが表示される様な マクロがありましたら、教えてください。 マクロの記録で読み込ませているのですが、複数シートの為、限界を感じております。 よろしくお願い致します。

  • Excelマクロ:ユーザフォーム上のテキストボックスにセルの選択範囲を転記

    ユーザフォーム上のテキストボックスにセルの選択範囲(例えば "A5:M31")を転記する方法についてお知恵を拝借願えればと思います。 【前提条件】 1.ユーザフォーム(UserForm1)がモーダルで表示されています。 2.ユーザフォームが表示されている時点では、望むべきセルは選択されていません。 3.テキストボックスが2つあります(TextBox1, TextBox2)。 【やりたいこと】 1.上記の2つのテキストボックスには、それぞれ違ったセルの選択範囲を表示したい。 2.上記の前提条件において、なんらかのトリガー(例えばコマンドボタン押下)によって、マウスドラッグによりセルを選択し、その範囲をテキストボックスに記入したい。 【補足】 1.【やりたいこと】の2で記しましたトリガー(例えばコマンドボタン押下)のタイミングでユーザフォーム(UserForm1)を非表示にするのは問題ありません。 2.できれば、セル選択時の MouseUpイベントでユーザフォームに転記させたいのですが、スクロールバー等の操作によるMouseUpイベントも入ってくる可能性が大です。 以上、必要な情報に不足がございましたら補足要求で指摘して頂ければ幸いです。 どうぞ、よろしくお願いいたします。

  • エクセル2007でメニューバーの非表示方法

    エクセル2000でファイルオープンの際にメニューバーを非表示にするようにマクロを書いていました。このたびエクセル2007に更新したところ、メニューバー(2007ではリボンというんですね)が非表示になりませんでした。シートにボタンを配しこのボタンから様々な作業をするように制御しておりましたので、リボンから直接作業されるのは困ります。 どなたかエクセル2007でのリボンの非表示の方法をご教示ください。 もしも無理であれば、組込みコマンドを指定して無効にする方法でも結構です。 少なくとも、リボンから[表示]→[マクロ]から直接マクロを実行されるのだけでも阻止したいです。 本当に困っています。 どなたか助けてください。よろしくお願いいたします。

専門家に質問してみよう