• 締切済み

Excelの右側を固定、またはボタンが追従する方法

閲覧ありがとうございます。 他のサイトでも質問させて頂きましたが、緊急性があるのでこちらでも質問させて下さい。 タイトルに記載した通り、Excelの左側はスクロールを可能に、右側は固定する方法を探しています。ボタンはマクロボタンです。マクロボタンがスクロールしてもついてくる形でも構いません。 結果として「左側の表示は上下し、右側のボタンは常に押せる状態」であれば問題ないのです。 ひとまず現段階では左側に文章や数値を入力しており、右側にマクロ登録したボタンを配置しております。 希望する形はM列以降にボタンを複数配置し、スクロールをすると左側の文章や数値などは上下します。しかしボタンがあるM列以降は変化せず、いつでもボタンが押せるというものです。 再度申し上げますが、ボタンがスクロールする度に追従する形でも構いません。 マクロボタンが追従してくる――ついてくるマクロを作るしかないのでしょうか? っと言っても、正直そんなマクロは思いつきません。 Excel初心者の自分に、どうか御知恵を御貸し下さい。 宜しくお願いします。 Excelは2010です。 以下は試してみたことです。 (1) 分割を利用してみましたが、分割すると右も左も一緒にスクロールされてしまいます。 (2) ウィンドウ枠の固定も行いましたが、右側のみの固定は出来ませんでした。 (3) 開発の挿入で、フォームコントロールやActiveXコントロールでスクロールバーを新しく設置するなども考えましたが、使い方が分かりません。 (4) 他のサイトで教えていただいたのですが、「表示メニュー」を選択後、「新しいウィンドウを開く」を選択。「整列」を選択肢、「左右に並べて表示」を行い、右と左に分けてみました。確かにこれで左右に分けることは出来たのですが、また違う問題が発生しました。 選択したセルをマクロで処理するボタンが存在するのですが、数値や文章を入力してある左ウィンドウのセルを選択しても、ボタンを動かそうと右ウィンドウをクリックすると、選択したセルが無効になってしまいます。実質これではボタンが使えません。 お手上げ状態です。どうか宜しくお願いします。

みんなの回答

回答No.2

こんにちは。お邪魔します。 こちらの読解が至っているか自信は持てませんが、 想像する状況の内の幾つかについては、以下の方法が、 対症療法的に有効かも知れません。 > (4)...「表示メニュー」...「新しいウィンドウを開く」...「整列」...「左右に並べて表示」 という設定を前提として、。 > 数値や文章を入力してある左ウィンドウのセルを選択しても、 > ボタンを動かそうと右ウィンドウをクリックすると、選択したセルが無効になってしまいます。実質これではボタンが使えません 右ウィンドウをアクティブにするタイミングの直前に、 左ウィンドウを非アクティブにするタイミングを捉えるイベント  Workbook_WindowDeactivate が発行されますので、 そこで選択中のセル範囲を変数に格納し、次に 右ウィンドウをアクティブにするタイミングを捉えるイベント  Workbook_WindowActivate にて 変数に格納しておいたセル範囲を選択(へジャンプ)します。 条件として「左」と呼ぶウィンドウのタイトルバーの末尾が":2" になるようなウィンドウ配置になっていることです。 勿論、他のマクロの書きよう、や、シートデザインによっては、 お望みの結果が得られない場合もあるでしょう。 ひとつの可能性でお応えするだけのものです。 本来、必要なのはボタンの表示位置を右側に固定する、 という一点なのだと思われますが、 何故、左じゃダメなのでしょう? っつか、何故右にボタンを配置するようなデザインを選んだのでしょう? > マクロボタンが追従してくる――ついてくるマクロ あまりお奨め出来ない、というか、 各種コントロールをスクロールする位置に配置すると、 Tempフォルダに破断した一時ファイルが残りExcelの動作に影響することがあるので、  •%temp%\excel8.0  •%temp%\vbe にある、.exd ファイルを時々消去してあげた方が良いと思います。 現状を活かして正しく対策するなら、UserFormをモードレス表示するのが 安定的で、最善と、思われます。 急がば廻れ的な意味でも、UserFormを検討するのが本筋と思います。 「すぐに回答を!」とあるので、お急ぎなのでしょうから、 一時的な対策という意味で、以下。 ' ' ThisWorkbook モジュールの先頭に以下の記述をコピーして貼り付ける Private rng As Range Private Sub Workbook_WindowActivate(ByVal Wn As Window)   If Wn.Index = 2 Then Exit Sub   If rng Is Nothing Then Exit Sub   With Application     .EnableEvents = False     .Goto rng     .EnableEvents = True   End With End Sub Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)   If Wn.Index = 1 Then Exit Sub   Set rng = Wn.RangeSelection End Sub

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

やり口は様々ありますが、どのみちマクロについて知識が足りてないので、何を聞いても消化不良になりそうですね。 推奨: ユーザーフォームにコマンドボタンを配置して利用する ユーザーフォームの作り方は下記を勉強する http://www.moug.net/tech/exvba/0091.html ユーザーフォームを表示するには、標準モジュールに sub macro1() userform1.show vbmodeless end sub のように作成し実行する ユーザーフォーム上のコマンドボタンには、ご相談でナイショの適切な動作マクロを登録する ここの説明が出来てないので、具体的にどーしたらいいのかビシッと説明がもらえないことに留意してください。 次善: 新しいウィンドウを開き、整列してシート上のコマンドボタンを右画面に表示する >右ウィンドウをクリックすると、選択したセルが無効になってしまいます。実質これではボタンが使えません。 その下手なマクロをもっと上手に動くよう、修正するだけです。 具体的にどんなマクロを今動かそうとしてて失敗してるのかナイショのままなので、具体的にどんなマクロに手直したらいいのか説明が貰えないことに留意してください。

関連するQ&A

  • VBA ボタンをセルの右側に合わせたい

    ActiveSheet.Shapes("Button 1").Left = Cells(1, 2).Left とすると、ボタンの左側がセルB2の左側に合わせていどうしますよね。 これを、ボタンの右側がセルB2右側に合わせて移動するようにしたいのですが上手くいきません。 ActiveSheet.Shapes("Button 1").Right = Cells(1, 2).Right 試しにこのようにしてみましたがエラーになりました・・・。 Excel2003です。 お分かりになる方、よろしくお願いいたします。

  • エクセルで、マクロボタンの表示位置を固定

    エクセルで、マクロボタンの表示位置を固定 することはできますか? 例えば、アクティブセルを移動させると、マクロボタンは画面からきえてしまいます。それを常に画面の右上に表示させたいのです。 ウィンドウ枠の固定をしない方法でお願いします。 どなたかよろしくお願いします。

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

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

  • Excelのヘッダー 右側の位置調整について

    Excel2010です。 ヘッダーの右側に文字を入れるのですが、1文字左にずらしたいのです。Excelのヘッダーの右側はもともと配置が「文字列を右にそろえる」に設定されているようで、位置を変えられません。左側は「文字列を左にそろえる」に設定されているようですが、スペースキーで右にずらすことができます。ヘッダーの右側は、左に位置をずらすことはできないのでしょうか。サイトで調べたのですが、それについての記載はありませんでした。 よろしくお願いいたします。

  • エクセル セル移動 マクロ

    ウインドウの固定を使用しています A列からAX列まであります C列固定しているためD列からAX列まで動くのですが エクセルの下の動かすスクロールバーでしか移動できなくて 大変なので 一行目の空いてるスペースにボタンを作成し 左に行くボタン  右に行くボタン を作成する 左右のボタンを1回押すとセルが3個程ずれる 左右ボタンは1行目の同じ位置で固定したいのですがどうすれば いいでしょうか?

  • Excel 選択できないボタン

    他の人が作成したエクセルファイルで、右クリック等では選択できない(押すことはできる)ボタンがあります。見た目はフォームツールバーで作成したものと同じなのですが、右クリックしてもポップアップメニューが出ることもありません。Ctrl+Aでも選択不可です。 そのボタンを押すとマクロが動きますが、マクロ一覧を見ても空になっていて、何がなんだかさっぱりです。 ボタンを選択できないので、そこからマクロのコードにいくこともできず・・。 このボタン、どうやって作ったんでしょうか?

  • エクセルの行もしくは列を固定したい

    エクセルで選択した範囲を固定するのは どうやったらできるのでしょうか? 普通は、表を右にスクロールしていくと、A列が画面から消えますが、 表を右にスクロールしても、 A列がずっと表示させるようにしたいです。

  • エクセルの関数を教えてください!

    840   1 1260  1 1260  1 1260  1 1890  2 1890  1 1890  1 2310  3 2646  1 2646  1 2940  4 この2列の数字は左側の数字に対して、右側が その数字の個数なのですが、 左の数字が統合され、それに対して右の数値が加算される エクセルの関数を教えてください。

  • エクセル関数を教えてください!

    840 1 1260 1 1260 1 1260 1 1890 2 1890 1 1890 1 2310 3 2646 1 2646 1 2940 4 この2列の数字は左側の数字に対して、右側が その数字の個数なのですが、 左の数字が統合され、それに対して右の数値が加算される エクセルの関数を教えてください。

  • エクセル ボタンへのマクロのやり方

    エクセルを使用して、エクセル内に作成した"ボタン"をクリックすると指定のURLへ飛べるようにしたいのですが、どうやったらいいのでしょうか? 通常セル内に文字を入力してハイパーリンクをやればURLに飛べると思いますが、"ボタン"を付けた場合右クリックをしてもハイパーリンクの文字が出てきません。 マクロを使えば出来ると思うのですが、マクロもホントのホントに初心者なのでよく分かりません。 どなたか詳しく教えて頂けないでしょうか。 よろしくお願いいたします。

専門家に質問してみよう