エクセルマクロでスクロールバーとセルを連携させる方法

このQ&Aのポイント
  • エクセル2002を使用している場合、コントロールツールボックスのスクロールバーを使用して、特定の条件に基づいてセルの数値を変更するマクロを作成する方法について教えてください。
  • 具体的には、Sheet1のA1に条件が記載され、Sheet2の1列目でその条件を判定し、2列目の条件下のセルの数値をSheet1のA2に表示する必要があります。さらに、Sheet1に置いたスクロールバーを使用してSheet1のA2の数値を変更したいです。
  • また、スクロールバーの数値とSheet1のA2の数値、そしてSheet2の該当セルの数値は常に同期させる必要があります。このような連携を実現する方法を教えてください。
回答を見る
  • ベストアンサー

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

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

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

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

スクロールバーにリンクするセルをセルに記入したデータによって付け替えたい,という事が言いたかったのだとすると。 シートモジュールには Private Sub Worksheet_Change(ByVal Target As Range)  Dim r As Long  If Target.Address <> "$A$1" Then Exit Sub  On Error Resume Next  r = Application.Match(Range("A1"), Worksheets("Sheet2").Range("A:A"), 0)  Me.ScrollBar1.LinkedCell = "=Sheet2!$B$" & r End Sub とかなんとかしておいて,シート1のA2には単純な関数で =IF(ISERROR(MATCH(A1,Sheet2!A:A,0)),"",VLOOKUP(A1,Sheet2!A:B,2,FALSE)) のようにしておくなどで。

paci12451
質問者

お礼

連絡が遅くなりました。返信ありがとうございます。助かりました。

その他の回答 (2)

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

質問するなら、Sheet1とSheet2のデータの有様を、(本質問では1例で良いとおもうが)セルの値が、こうだだから、こう判定して(考えて)、こうだからこうしたい、と言う風に書いてほしい。 >Sheet1のA1の条件が・・ どんな条件かかけないのか。 >Sheet2の1列目で条件を判定し、2列目の条件下のセルの数値を Sheet1のA列でSheet1の値で検索し、その見つかった行の隣のB列の値で、だろう。そうかけないのか。 >条件下のセルの 条件下とは何?持って回った表現ではないか。 >Sheet1のA2に表示し これならSheet1のA1の値で-->Sheet2のA列を検索ーー>見つかった行のB列の値を求めるーー>Sheet1の2に表示=入れる なのだから、Sheet1のA2セルにVLOOKUP関数を入れれば仕舞いではないか。 VOOLUUPはVBAの関数としてもつかえるが。 >Sheet1に置いた「スクロールバー」で、Sheet1のA2の数値を変更したいです。 折角関数なりでA2に値をセットしたので、なぜその後素の値をスクロールバーで変える必要があるのか。 あるとしてもスクロールバーの設定の仕方がわからないなら、それだけの質問で良いのではないか(LinkedCellなどのこと) === 全般に持って回った表現は避けてほしい。 読み返して他人にわかる表現に鳴って居るか、みなおしてから質問すること。 またなぜ質問のようなことが必要か、一言添えるべきではないか。 とにかく聞いていることを答えろでは回答者は道具じゃない、教えてもらうのだから丁寧に。 読者や、回答するほうも貴重な時間を割いていつも答えているのだ。安易に質問をやらないでほしいとおもう。

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

> Sheet1のA1の条件が記載され、Sheet2の1列目で条件を判定し、2列目の条件下のセルの数値をSheet1のA2に表示し、 この意味がわかりません。 http://okwave.jp/qa/q6478455.html の続きでしょうか? だとしたら、何もマクロを使う必要もなく、 > Sheet1に置いた「スクロールバー」で、Sheet1のA2の数値を変更したいです。 こうしたいなら、デザインモードで、コントロールツールボックスのスクロールバーを右クリックし、コードの表示ででてきた「プロパティScrollBar1」で、LinkedCellをSheet2!A2に、MAXを希望の数値に設定すればよいだけです。

paci12451
質問者

お礼

連絡が遅くなりました。いつもありがとうございます。助かりました。

関連するQ&A

  • Excel で、セルにスクロールバーをつけたい

    セル内にたくさんの文字が入力されていると読みにくいですよね。 セルの高さを広げすぎると、シートのスクロールがしにくくなりますし、 数式バーにも内容が表示されて別のセルがクリックできなくなったりします。 ある程度高さを広げたセルに、上下のスクロールバーがつけられれば便利だと思うんですが・・・ 何か方法はあるんでしょうか。 また、セルにスクロールバーがつけられないのであれば、それに代わる方法がありましたらお願いします。

  • excelスクロールバーを標準にもどしたい

    Windows10、マイクロソフト365、使用の超初心者です。ユーザーフォームのコマンドボタンで表示したシートがあります。しかし、シートの水平スクロールバーの長さが極端に短いので、検索と選択から最後のセルの列を削除して セルA1から上書き保存しました。すると長さが標準になったので、保存してExcelを終了しました。再度シートを開くと。また以前の短いスクロールバーに戻ってます。何とか保存したいのですがうまくいきません。よろしくお願いします。

  • スクロールバーの色を変更

    サイトのTOPでスクロールバーの色の変更をして、それは出来たのですが… TOPに更新履歴を表示するテキストエリアボックスのスクロールバーまで色が変わってしまいます。 ここに関しては通常の青いスクロールバーにしたいのですが、どうすればいいのか分かりません…。 スクロールバーの色の変更は<HEAD>内にこれを使いました。 <style type="text/css"> <!-- body { scrollbar-arrow-color:#000; scrollbar-face-color:#90eeaa; scrollbar-highlight-color:#fff; scrollbar-3dlight-color:#000; scrollbar-track-color:#fff; scrollbar-shadow-color:#000; scrollbar-darkshadow-color:#fff; } --> </style>

  • エクセル スクロールバー Min/Max値

    ちょっとズレていたら申し訳ありません。教えてください。 エクセル「コントロールツールボックス」の「スクロールバー」にあるMinとMaxを 特定のセルにリンクさせたいのですが、どのようにすればよいでしょうか? 現在、下記でMinの値とリンクセルを試していますが、なかなか動きません。 Private Sub Worksheet_Calculate() ScrollBar1.LinkedCell = Range("A1") ScrollBar1.Min.Value = Range("A2") End Sub 教えてください。お願いします。

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

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

  • EXCEL VBAで作成したスクロールバーの不具合を修正したいのですが

    ちょっと言葉だと説明しにくいのですが、教えていただきたいことがあります。 EXCEL VBAでスクロールバーを作成したのですが、 スクロールバーの上部1/5程度で全部のデータが終わってしまいます。 データ数に合わせて、スクロールした一番最後に最後のデータが来るように修正することは可能でしょうか。 自分で色々試してみましたが原因がさっぱりわかりませんでした。 作成したマクロは以下のとおりです。 *シート「一覧」のA列~D列×3000行のデータを入力  シート「リスト」にスクロールバーを設置 Private Sub ScrollBar1_Change() currow = ScrollBar1.Value Call smpscrollbar End Sub Private Sub Workbook_Open() currow = 3 With Sheets("リスト").ScrollBar1 .Min = 3 .Max = Sheets("一覧").Range("A1").CurrentRegion.Rows.Count End With Call smpscrollbar End Sub Sub smpscrollbar() With Sheets("リスト") .Range("B1").Value = Sheets("一覧").Range("A" & currow).Value .Range("E1").Value = Sheets("一覧").Range("B" & currow).Value .Range("I1").Value = Sheets("一覧").Range("C" & currow).Value .Range("N1").Value = Sheets("一覧").Range("D" & currow).Value End With End Sub

  • ココログのスクロールバー

    「ココログ」を使っています。 カスタム編集にした時、CSSをつかって スクロールバーの色を変えたいのですが、上手く反映されず通常のままです。 (ちなみにオンマウスの設定など、他のCSSは反映されています) 何か間違っているでしょうか? それとも「ココログ」ではスクロールバーの変更は対応してないのでしょうか? ----------------------------------------------- <STYLE type=text/css> <!-- BODY{ scrollbar-face-color: #ffffff; scrollbar-highlight-color: #ffffff; scrollbar-shadow-color: #000000; scrollbar-3dlight-color: #000000; scrollbar-arrow-color: #000000; scrollbar-track-color: #ffffff; scrollbar-darkshadow-color: #ffffff; } --> </STYLE> -----------------------------------------------

  • エクセルのスクロールバー

    エクセルで「ツール」>「オプション」>「表示」で、各種の表示の設定を変更できますが、スクロールバーだけは当該シートだけじゃなくそのブックの全てのシートに適用されてしまいます。 一部のシートだけスクロールバーを表示しない方法があるんでしょうか。その方法があればご指導ください。

  • スクロールバーのデザイン変える方法を教えてくだい

    現在HP制作中なのですが、スクロールオーバーの色、形などを変更したくて、色々と検索したところ、この様な記述が多かったので、 html, body { scrollbar-3dlight-color: #ffcccc; scrollbar-arrow-color: black; scrollbar-darkshadow-color: black; scrollbar-face-color: #ffcccc; scrollbar-highlight-color: #997a7a; scrollbar-shadow-color: white; } 実行してみたのですが、全然変わりませんでした。。。 一応、この様に書いてみてスクロールバー自体は表示されたのですが。。。 デザイン変更できません、、、 .scroll_pane { height: 376px; width: 226px; overflow: auto; font-size: 14px; color: #FFF; } いくつか試してみたのですが、全然できませんでした。。。泣 色、形など変えたいです。 どなたか、ご存知の方、是非教えてください。。。 どうぞよろしくお願い致します。 使用OSはMAC OS XでDream WeaverCS4を使用しています。。。

    • ベストアンサー
    • CSS
  • スクロールバーのタグについて

    こんにちは。 先日、HPができたのですが スクロールバーがうまくいかずに困っています。 HPの中でイラストを表示させるページがあり、 <a href="画像URL"target="a"></a> そのタグを上のようにしています。 HP内全てのページのスクロールバーを <style type="text/css"> <!-- body{ scrollbar-face-color:白; scrollbar-arrow-color:オレンジ; scrollbar-track-color:黄緑; scrollbar-highlight-color:赤; scrollbar-shadow-color:水色; scrollbar-3dlight-color:黒; scrollbar-darkshadow-color:ピンク; } --> </style> 上のように設定しています。 (色はわざとコードを使わないで名称で書いてます。) 他のページには全て反映できているのですが、 そのイラストを表示させるページの スクロールバーは何も変化がありません。 画像をアップするのにFFFTPを使っていて、 FFFTPから右クリックで 「URLをクリップボードへコピー」で 画像のURLのところに貼り付けています。 なので、そのページのタグは画像のみで スクロールバーの設定をしていないからだろうと思うのですが、 よくわからくて、困っています。 うまく説明ができませんが、 アドバイス等ありましたら、お願いします...! 説明不足の質問などでもどうぞ... よろしくお願いします。

専門家に質問してみよう