Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7848 / 76734 ←次へ | 前へ→

【74467】Re:シート上のスピンボタン spinupとspindownを登録するには?
発言  kanabun  - 13/6/21(金) 12:08 -

引用なし
パスワード
   ▼豆 さん:

>書いていただいたコードをそのままシートモジュールに
>転記したところ、反応がありません。

デザインモードは終了してますか?


>恥ずかしながら
>・UpDown 1
>・(num&)
>・[B1]
>のような表現を初めて見たもので、
>そのまま使用してよいのかがわかりません。

そのまま使用していただけます(^^
なお、

Private Sub UpDown(num&)

というのは昔風にいえば サブルーティン ってやつで、
SpinUpイベントでも SpinDown イベントでも +1 するか、 -1 するか
がちがうだけで、やることはほぼ同じなので、サブプロシージャに独立させて
共通に使います。

SpinUp イベントが起こると

Private Sub SpinButton1_SpinUp()
  UpDown 1
End Sub

のように UpDown サブルーティンを 引数+1 を携えて呼び出します。
(呼び出し側
   UpDown 1 ← この +1 が
 呼び出し先の
 Private Sub UpDown(num&) 
           ↑この num& に渡されます。

共通プロシージャでやっていることは お分かりですよね?

>Private Sub UpDown(num&)
>  Select Case [A1].Value
>   Case "リンゴ"
>     [B1].Value = [B1].Value + num
>   Case "みかん"
>     [B2].Value = [B2].Value + num
>   Case "バナナ"
>     [B3].Value = [B3].Value + num
>  End Select
>End Sub

日本語(疑似コード)にすると、

[A1]セルの値が

 もし"リンゴ" なら、[B1]セルの値を1つ(Up/Down)する

 もし"みかん" なら、[B2]セルの値を1つ(Up/Down)する

 もし"バナナ" なら、[B3]セルの値を1つ(Up/Down)する

End Select

ということです。
なお、[A1] は Range("A1") の簡略表記です。

8 hits

【74462】シート上のスピンボタン spinupとspindownを登録するには? 13/6/21(金) 10:52 質問
【74463】Re:シート上のスピンボタン spinupとspin... kanabun 13/6/21(金) 11:09 発言
【74465】Re:シート上のスピンボタン spinupとspin... 13/6/21(金) 11:20 お礼
【74467】Re:シート上のスピンボタン spinupとspin... kanabun 13/6/21(金) 12:08 発言
【74468】Re:シート上のスピンボタン spinupとspin... 13/6/21(金) 12:23 お礼
【74469】Re:シート上のスピンボタン spinupとspin... kanabun 13/6/21(金) 13:32 発言
【74470】Re:シート上のスピンボタン spinupとspin... 13/6/21(金) 15:13 お礼
【74471】Re:シート上のスピンボタン spinupとspin... 13/6/21(金) 16:00 お礼
【74464】Re:シート上のスピンボタン spinupとspin... kanabun 13/6/21(金) 11:18 発言
【74466】Re:シート上のスピンボタン spinupとspin... 13/6/21(金) 11:22 お礼

7848 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free