[[20130315120700]] 『フォームで作ったスピンボタンを横向きにしたい』(おじん48号) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『フォームで作ったスピンボタンを横向きにしたい』(おじん48号)
見出しの件ですが色々調べたのですが分からずお尋ねします。
よろしくお願いします。

 ユーザーフォームの上のスピンボタンであれば、プロパティのOrientation を 
 1 - fmOrientationHorizontal に。

 (ぶらっと)

 フォームコントロールのスピンボタンは、横にできませんね!!
 知らなかったなあ・・・。

 ActiveXControlのそれを使うか、フォームコントロールのスクロールバーなら、横にできるので
 形状を中のバーを0にした状態に作成して代替できませんか?

 ichinose@昼休み(今日は、のどかだなあ)


ぶらっとさん、ichinose@昼休みさん
ご返事ありがとうございます。
やはりできないのですか・・・調べても無いはずです。
コントロールツールボックスですと横向きになるのですが、設定が出来なくて・・・
やはり分からない、ここでわたしの思考は止まりヘルプとなりました。

(おじん48号)


お世話になります。
ココまで調べて出来たのですが・・・最低と最大の設定が分かりません。
どなたかご存じの方はお教え下さいませ。
Private Sub SpinButton1_SpinUp()
  On Error Resume Next
    Me.Range("A1").Value = Me.Range("A1").Value + 1
End Sub
Private Sub SpinButton1_SpinDown()
  On Error Resume Next
    Me.Range("A1").Value = Me.Range("A1").Value - 1
 End Sub

(おじん48号)


 ん?
 MAX、MINをデザイン時のプロパティで設定しておけばいいのでは?

 要件がよくわからないけど、何か可変の値をMAXとMINに動的に設定?
 たとえば

 Private Sub UserForm_Initialize()
    With SpinButton1
        .Max = Maxに設定したい値
        .Min = Minに設定したい値
    End With
 End Sub

 そうではなく、単にDownやUpの処理を(無制限に)したいだけなら
 MAXやMINに特別に何かをセットしなくてもイベントは発生するので
 A1の値の増減を行うことは可能だけど?

 (ぶらっと)

 フォームのスピンボタンと同じような設定にしたいなら、

 >Private Sub SpinButton1_SpinUp() 
 > On Error Resume Next
 >   Me.Range("A1").Value = Me.Range("A1").Value + 1
 >End Sub
 >Private Sub SpinButton1_SpinDown()
 > On Error Resume Next
 >   Me.Range("A1").Value = Me.Range("A1").Value - 1
 >End Sub

 上記のコードは、要りません。

 スピンボタンのプロパティのLinkedCell に Sheet1!A1 等と指定するだけです。
 また、同じようにMax,Min プロパティにも指定可能です。

 デザインモードにした後、当該コントロールを選択し、右クリック---プロパティで
 プロパティ設定ウインドーが表示されるはずです。設定後は、デザインモードを終了してください。

 尚、デザインモードのON、OFFは、三角定規のアイコンを探してください

 まずは、以上の内容で検討してみてください

 ichinose


ichinoseさん、お世話になります。
で・出来ました!。感激です。
これはこんな風に使うんだと納得しています。
もう少し発展させてMaxは60でMinは20でSmallChangeは10にしたのですが、最小Minは15にしたいのです。
15・20・30・40・50・60と増やしたり減らしたりしたいのですがこんな事は可能でしょうか?

(おじん48号)


 >15・20・30・40・50・60と増やしたり減らしたりしたいのです

 これだったら、コンボボックスで良いと思いますが、
 記述されていない深い事情があるのでしょうねえ

 これは、スピンボタンのイベントで制御してみては?

 コントロールを張り付けたシートのモジュールに

 '=============================================================
 Private Sub SpinButton1_change()
    On Error Resume Next
    With SpinButton1
       .Value = Application.Floor(.Value, 10)
    End With
    On Error GoTo 0
 End Sub

 こんな風にしてみてください。

 ちょっと、不規則なことをしたければ、コードを記述すれば何とかなるものです。
 意味をよく調べてみてください。

 ichinose


 追伸
 Excelの使い始めは、フォームのコントロールの方が断然、わかりやすいですよね!!
 マクロの記録でプロパティの設定まで記録してくれるし、機能も単純だし・・・。

 ActiveXControlは、マクロの記録では、ほとんど記録されませんので、勝手が違ってきます。

 この辺りから、Helpを調べながらコントロールのプロパティやメソッドに何があり、どんなことが
 出来るのかじっくり調べる事を考えてみてください。

 ichinose


ichinoseさん、ヒントをありがとうございます。
コンボボックスで良いと思いますが、>こちらの方が使いやすいと思います、調べているのですが事例が少なくヒットしません。
検索範囲はプロパティの何処に書けばよいのか・・・

(おじん48号)


ichinoseさん、ありがとうございました。
見つかりました!!ListFillRangeでした。

ぶらっとさんもありがとうございました。

エクセルは奥が深く初心者用、中級者用と似たものが多く戸惑います。
また、お尋ねすることが有ると思いますがその時はよろしくお願いします。

(おじん48号)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.