アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

Private Sub Worksheet_Calculate()

ScrollBar1.LinkedCell = Range("A1")
ScrollBar1.Min.Value = Range("A2")

End Sub

教えてください。お願いします。

A 回答 (4件)

Private Sub Worksheet_Change()


でも、
Private Sub Worksheet_Calculate()
でも、いいけれども、後者は、計算された時に発生するものですから、不確実だと思いますし、Min/Maxは、そう多く変動するものではありませんから、通常、プロパティから設定するものだと思います。

LinkedCell プロパティは、マクロではなく、ワークシートで、編集モードから、コントロールツールを選択し、右クリックして、プロパティから、設定してください。
面倒なら、それらはボタンを設置してもよいと思いますが、ワークシートのCalculateイベントとはなじまないと思います。

なお、Value プロパティは入らないのでは?

>ScrollBar1.Min.Value = Range("A2")
ScrollBar1.Min = Range("A2").Value

p.s.
前回のご質問のこちらの書き込みは分かりましたか?
「エクセル マクロ 表示ボックス?」
締め後に、回答を入れました。当然、質問者さん側も、締め後に書き込み可能です。難しいので、分からないのなら、特にコメントは求めませんが、こちらは、問題は出ていません。

この回答への補足

前回の回答ありがとうございます。うまく実現できました。

補足日時:2011/02/14 12:32
    • good
    • 0
この回答へのお礼

ありがとうございます。うまく機能きました。丁寧な説明ありがとうございます。

お礼日時:2011/02/14 12:30

>ScrollBar1.Min.Value = Range("A2")が、うまく動かないので、MinまたはMax値を特定のセルにリンクさせたいです。



以下のように変更してください。

ScrollBar1.Min = Range("A2")

ところでWorksheet_Calculateを使っている理由ですが、A2セルなどに最小値を計算する数式が入っているということですね(手入力した場合はF9キーで再計算する必要がある)。

そうでない場合は、再計算時にマクロを走らせるのではなく、セルの変更時のイベントマクロにしたほうが良いと思います。
    • good
    • 0

ご質問のマクロの書きぶりでは…


>Private Sub Worksheet_Calculate()

シート上で「計算が走らないと」機能しません。
たとえばスクロールバーをリンクするセルがただ有るだけじゃダメで,そのセルを =B1 みたいにして参照してるセルがあると,そのマクロでも機能します。
たとえばスクロールバーのMin/Maxを記入したセルがただ有るだけじゃだめで,それらのセルを参照する「数式」を入れたセルが別にあると,そのマクロでも機能します。

Worksheet_changeイベントに変更し,A1やA2のMin/Maxにしたいセルの値を書き換えたり,リンクするセルの値が変わったなどでご質問のマクロを機能させても出来ます。
    • good
    • 0
この回答へのお礼

ありがとうございます。助かりました。

お礼日時:2011/02/14 12:31

リンクするセルをA1にするなら以下のようにしてみてください。



ScrollBar1.LinkedCell = "A1"
    • good
    • 0
この回答へのお礼

返信ありがとうございます。
ScrollBar1.Min.Value = Range("A2")が、うまく動かないので、MinまたはMax値を特定のセルにリンクさせたいです。

お礼日時:2011/02/14 11:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!