• ベストアンサー

EXCELに関する質問

いつもお世話になっています。 EXCELに関する質問です。 シートにテキストBOXを作成します。 シートを上下にスクロールさせた時に、テキストBOXが常に画面の右上に表示されるようにするための マクロを教えていただけませんでしょうか? よろしくお願いします。

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

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

こんにちは。 スクロールイベント自体は、作らないとなかったと思いますが、通常、その後で、ワークシートに触らないということはありえませんので、セルをクリックすればよいと思います。 私は、以下のようなものを使っています。 テキストボックスは、図形描画で入れた、テキストボックスにさせていただきます。 違いましたら、適当に、オブジェクトを変更してください。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim WinTop As Single Dim WinLeft As Single   '上   WinTop = ActiveWindow.VisibleRange.Top   '真ん中   WinLeft = ActiveWindow.VisibleRange.Left + (ActiveWindow.VisibleRange.Width / 2)   With ActiveSheet.Shapes("テキスト 1")     .Top = WinTop + 3     .Left = WinLeft + 160  '数字で位置調整してください   End With End Sub

u_nobu
質問者

お礼

素早い回答有難うございます。 マクロ初心者同然なので教えて欲しいのですが ALT+F11を押して[挿入(I)]-[標準モジュール(M)]をクリックして、 コードを貼り付ければよいのでしょうか?

その他の回答 (4)

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

#4 のNoubleさんへ >テキストボックスの設定で >位置もサイズも変えないようにできなかったできたっけ? それは、 オートシェイプ(等)の書式設定のプロパティに #オブジェクトの位置関係で、 # セルに合わせて移動やサイズを変更しない というものがあります。それは、オブジェクトとワークシートのWindow 絶対位置のことなのです。例えば、列を削除すると、オブジェクトがずれてしまう、というような問題があります。その場合、このオプションを使用します。 ご質問者さんは、Windows の位置関係を、見えている範囲に対して同じ位置にしたい、ということで、これは、FAQには至らないのですが、Webでオブジェクトが付いてくるようExcelで実現したい、という質問は、時々見かけます。私は、たぶん、それだろうと思って回答して、やはりそれだったわけです。

  • Nouble
  • ベストアンサー率18% (330/1783)
回答No.4

テキストボックスの設定で 位置もサイズも変えないようにできなかったできたっけ? 今OS再構築中で確認できなくてすみません

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

こんにちは。#2 のWendy02です。 ワークシートの一番下にシートタブがあります。それを右クリックすると、コードの表示(V)があります。それをクリックすると、シートモジュールが開きますので、コードを貼り付けます。 そうしたら、Alt + Q で、Visual Basic Editor を閉じれば、登録完成です。一度、位置を確かめてみてください。調整は、WinTop, WinLeft の数字を変えればよいです。

u_nobu
質問者

お礼

ご丁寧に有難うございました。 まさに私が望んでいたものでした。 重ね重ね有難うございました。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

VBAでスクロールを検知するイベントがないので無理だと思います。 似たようなことなら画面をメニューの、「ウィンドウ」、「ウィンドウ枠の固定」をすることでしょうか。

関連するQ&A

  • EXCELのシート内に作成した図について

    シートの左側に表を作成してありまして、その表の右上に小さな図を常に表示しておきたいのですが・・・ 画面のスクロール(ウィンドウを固定してスクロールしても)に影響されず、常に画面上に表示する事は可能でしょうか? ↓既にに似た様な質問がありましたが、解決出来ませんでした。お解かりになる方、ご回答をお待ちしております。 http://oshiete1.goo.ne.jp/qa2516858.html

  • エクセルで・・

    エクセルのマクロでuserformを作成時いくつかのテキストボックスを作ってセルをリンクさせました。1つのテキストボックスに値を入力して他のセルの値をリンクしているテキストボックスに表示させる事は出来ますか?

  • エクセル2007を使っています。

    エクセル2007を使っています。 以下のようなマクロを作りたいのですが、記録マクロができずに困っています。 どのようなコードを書けばいいでしょうか? 教えてください。 (指定されたグラフエリアに)「あいう123」と書かれたテキストボックスを挿入 テキストボックスのフォントは日本語=MSPゴシック、英語=Arial、サイズ=8pt テキストボックス内の余白は左右上下=0mm テキストボックスの大きさはテキストの長さに合わせる 以上です。 ()の中のグラフエリア内というのは、もし無理ならシートにテキストボックスを作ってそこからコピペします。 どうぞよろしくお願いします。

  • マクロ初心者です。エクセルのあるシートにテキストボックスが2個張り付い

    マクロ初心者です。エクセルのあるシートにテキストボックスが2個張り付いてます。 テキストボックスの番号はわからず任意に変化します。この2つのテキストボックスの番号を取得するマクロを教えて下さい。(テキストボックスの番号とは、テキストボックスを選択した時に名前ボックスに表示される番号のことです。)

  • エクセルでのテキストボックスの表示非表示について

     いつもお世話になっております。  エクセル2010を使用していますが、条件によってテキストボックスを表示か非表示にしたいと考えています。テキストボックスは、1つを想定しています。 【例】 (1)sheet1のセルA1が「該当」のとき  →sheet2にあるテキストボックスを表示 (2)sheet1のセルA1が「非該当」のとき  →sheet2にあるテキストボックスを非表示  以上、モジュールでの対応となると思いますが、やり方が分からず苦慮しています。ご教授をどうぞよろしくお願いいたします。

  • エクセル マクロを使ってセルの中身をテキストボックスに移動

    いつもお世話になります。 エクセルのシート内の様々なところに(ランダム) 文字があります。 これをテキストボックスに1つずつ「変更」できますでしょうか?セル内の内容は消えて構いません。 1セル内の内容を1つのテキストボックスに移動し 場所は同じ位置に。 これをマクロを組んで行いたいと思います。 難しいお願いですが宜しくお願いいたします。

  • Excelの表示を2つや4つに分けたくない。

    Excel2007を使用しています。 シートの右上や右下のスクロール部分 (うまく説明できなくてごめんなさい) を選択すると画面を縦や横に分割することができると思います。 これをできなくしたいのですが、可能でしょうか? 可能であればExcelの設定でも、 マクロを使用した設定でも構いません。 手順を教えて頂けませんでしょうか? ぜひ、よろしくお願いいたします。

  • グラフがあるExcelシートをスクロールするとラベルが消える

    Win98/Excel97: お世話になります。 Excelに円グラフを作成した後、一行ずつ(▲▼を使って)スクロールすると、テキストボックスやラベルが消えてしまいました。 上にスクロールしても下にスクロールしても消えてしまいます。 別のセルを選択→グラフを選択などでアクティブを再度切り換えると、再描画するらしく、また表示されたりしますが、またスクロールすると消えます! ちなみに、一行ずつではなく1画面ずつスクロールすると大丈夫です。 また、ラベルを取りやめてテキストボックスを作成し、グラフに貼りつける(そのまま追加するのではなく、一旦作成したのを切り取って貼りつける)と大丈夫でした。(そのまま追加したのではダメでした) これはExcelのバグでしょうか?

  • エクセルのユーザーフォームの日付を和暦で表示したい

    いつもお世話になります。 エクセルのユーザーフォーム作成に初めて挑戦しております。 ワークシートに日付の元データがあり、ユーザフォームにテキストボックスを配置しその日付データを表示させています。(例:2006/8/3) やりたいことは、そのユーザーフォームにもうひとつ別のテキストボックスを作成し上記の日付データを和暦で自動的に表示させたいのです。(例:上記のテキストボックスが2006/8/3の場合、こちらのテキストボックスはH18.8.3と表示) 初心者ですが、よろしくお願いします。

  • エクセルVBAについて

    今、エクセルVBAでマクロの作成を行っています マクロの中で、作業用に別なエクセルとシートを作成したのですが マクロの最後でその作業用のエクセルとシートを削除する用にしました。 その際に、エクセルがメッセージボックスが開き 『このエクセルブックを閉じますか』や『このシートを削除してよろしいですか』などと聞いてきます。 このボックスを出さないように強制的に消すことは出来ないのでしょうか? 出来るのであれば、やり方を教えてください。

専門家に質問してみよう