たっぴ(パソコン質問掲示板)

ログイン

メニュー
■ トップ
■ 質問する
■ 回答を見る・回答する
■ 参加者のひろば / テーマ別
■ コミュニケーション道場
■ 「たっぴ」の使い方
■ 「たっぴ」のルール・心得

エキスパート トータルランキング
Rank ニックネーム E-Point
1 位 sriver 1372 p
2 位 げんき(^^)/ 810 p
3 位 うにゅ 607 p
4 位 mory 512 p
5 位 saru 510 p
6 位 Clark 481 p
7 位 taknt 474 p
8 位 459 p
9 位 あき◆ 387 p
10 位 おやぢ 366 p
※月間ランキング参加者がありませんでした。



E-Point還元プログラム
E-Point 月間獲得ポイントより回答者様へ現金を還元いたします。

対象還元金額
全員に(E-Point)×20円
支払いは5,000円以上からとなります。
還元金の支払いはご指定銀行口座への振込みとなります。

『マナーの良い質問者』マーク
以下の条件を満たす質問者様には
  『マナーの良い質問者』マーク

が付きます。
  1. 登録していて
  2. 「終了」していない質問がひとつ以下で
  3. 終了した質問で「○○○○○」という言葉の投稿がある
3番目の条件はひらがなです。もうお判りですね。(漢字、カタカナもOKかも。。。)
ぜひマークをGetしてください。









《戻る

No.質問・回答おれい
[114626] 超〜初心者! Excel VBAでコントロールボックスのスピンボタンの値の範囲指定がわからない
使用しているOS: Windows XP
使用しているPCのメーカー/機種/型番:自作
関係するアプリケーション名/バージョン:EXCEL2000
関係する機器の機種名/型番:
 はじめまして。お願いします。
連休を利用してExcelを少しでも使いたいと思い、練習中ですが
フォームコントロールのコンボボックスとスピンボタンを組み合わせ
作成したのですが、スピンボタンで下げるにするとコンボボックスの
表示では上がってしまいます。そこでコントロールボックスのスピン
ボタンで出来ないかホームページを検索しましたが、指定するセルの
最小値、最大値の設定が、どうもうまくいきません。"1<A1<13"
以下のVBAに何を書き加えればいいのか、教えて頂けないかと。

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


50の手習い (未登録)   2009年5月5日02:19


[114627] こんなかんじでしょうか。if文でもできますけど

Private Sub SpinButton1_SpinUp()
 Dim i As Integer
 On Error Resume Next
 i = Range("A1").Value
 Select Case i
 Case 2 To 13
   Range("A1").Value = i - 1
 End Select
End Sub

Private Sub SpinButton1_SpinDown()
 Dim i As Integer
 On Error Resume Next
 i = Range("A1").Value
 Select Case i
 Case 1 To 12
  Range("A1").Value = i + 1
 End Select
End Sub


mit56 (340)    2009年5月5日08:22


[114628] 1点確認。
>"1<A1<13"
数値の範囲ですが、上記の書き方だと1より上で13未満の値をA1セルに設定したいように見えますが、本当は、"1≦A1≦13"で、1以上13以下の値をA1セルに設定したいと解釈で良いですか?
手元にExcel2000がないのでうろ覚えですが。
ちなみにExcel2007だと、以下のコードを付け加えなくても、フォームコントロールのプロパティで、最小値(MIN)と最大値(MAX)を設定するだけで、値範囲を設定できました。

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

Private Sub SpinButton1_SpinDown()
On Error Resume Next
If Me.Range("A1").Value < 13 Then
 Me.Range("A1").Value = Me.Range("A1").Value + 1
End If
End Sub
うにゅ (607)    2009年5月5日08:25


[114630]  おはようございます。
mit56様、うにゅ様、さっそくの回答大変有難うございます。
mit56様、うにゅ様、どちらの方法も出来ました。
 ちなみにコンボボックスの表示"1"は、"氏名を選択"
"2"〜"12"は"氏名"、スピンボタンでは氏名(2〜12)だけ変更
だったもので。
超初心者の質問に、お答えいただき本当に感謝しております。
有難うございました。             
50の手習い (未登録)   2009年5月5日08:51


( 参照数:1750   日平均:0.3 )
 
〜 回答の受付を終了しました 〜


回答、お礼・報告などメッセージの追加

ニックネーム:

まったく新しい内容の質問、質問者以外の方の質問は、メニューの「質問する」から新たに質問してください。

詳細: 内容を詳しく言うと。。。

※「たっぴ」に登録すると質問にポイントが付けられます。 その他便利な機能も使えます!》新規登録 》Help

※http://.....は自動的にハイパーリンクに変換します。
※<pre></pre>が使用できます。     ※引用は行の先頭に「>」を付けてください。自動的に色が付きます。




利用規約 特定商取引に関する法律に基づく表記 プライバシーポリシー 問合せ