Excel VBA質問箱 IV

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

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


3588 / 13644 ツリー ←次へ | 前へ→

【61267】検証して下さい。 一年生 09/4/21(火) 15:05 質問[未読]
【61268】Re:検証して下さい。 neptune 09/4/21(火) 15:34 回答[未読]
【61269】Re:検証して下さい。 Yuki 09/4/21(火) 15:42 発言[未読]
【61270】Re:検証して下さい。 Yuki 09/4/21(火) 15:45 発言[未読]
【61271】Re:検証して下さい。 一年生 09/4/21(火) 16:29 質問[未読]
【61273】Re:検証して下さい。 neptune 09/4/21(火) 21:58 発言[未読]
【61279】Re:検証して下さい。 一年生 09/4/21(火) 23:45 お礼[未読]
【61281】Re:検証して下さい。 neptune 09/4/22(水) 9:10 発言[未読]
【61282】有り難うございました。 一年生 09/4/22(水) 10:03 お礼[未読]

【61267】検証して下さい。
質問  一年生  - 09/4/21(火) 15:05 -

引用なし
パスワード
   こんにちは
はじめたばかりで、ネットで検索しながら、
作りました。

とりあえず、動きますが、
手直しするところがあったら、教えて下さい。
宜しくお願い致します。

Private Sub ListBox3_Click()

     If Me.ListBox3.Value = "1月" Then Cells(1, 15).Select
     If Me.ListBox3.Value = "2月" Then Cells(5, 15).Select
     If Me.ListBox3.Value = "3月" Then Cells(10, 15).Select
     If Me.ListBox3.Value = "4月" Then Cells(15, 15).Select
     If Me.ListBox3.Value = "5月" Then Cells(20, 15).Select
     If Me.ListBox3.Value = "6月" Then Cells(25, 15).Select
     If Me.ListBox3.Value = "7月" Then Cells(30, 15).Select
     If Me.ListBox3.Value = "8月" Then Cells(35, 15).Select
     If Me.ListBox3.Value = "9月" Then Cells(40, 15).Select
     If Me.ListBox3.Value = "10月" Then Cells(45, 15).Select
     If Me.ListBox3.Value = "11月" Then Cells(50, 15).Select
     If Me.ListBox3.Value = "12月" Then Cells(55, 15).Select
    
End Sub

【61268】Re:検証して下さい。
回答  neptune  - 09/4/21(火) 15:34 -

引用なし
パスワード
   ▼一年生 さん:

>とりあえず、動きますが、
>手直しするところがあったら、教えて下さい。
自分の望んだ結果を得られ、且つ、半年後の自分が見てわかるなら
手直しの必要はないです。・・・・持論です。

・1つのデータを複数のデータで評価する場合は下記のように書く方が見易いです。
・Cellsでは、どのシートかが、明示されてませんので、Activeなシートの
セルを指定することになります。必ず明示的にシートから指定しましょう。

Private Sub ListBox3_Click()
  Select Case Me.listbox3.Value
    Case "1月"
      Cells(1, 15).Select
    Case "2月"
      Cells(5, 15).Select
    Case "3月"
      Cells(10, 15).Select
    Case "4月"
      Cells(15, 15).Select
    Case "5月"
      Cells(20, 15).Select
    Case "6月"
      Cells(25, 15).Select
    Case "7月"
      Cells(30, 15).Select
    Case "8月"
      Cells(35, 15).Select
    Case "9月"
      Cells(40, 15).Select
    Case "10月"
      Cells(45, 15).Select
    Case "11月"
      Cells(50, 15).Select
    Case "12月"
      Cells(55, 15).Select
  End Select
End Sub

【61269】Re:検証して下さい。
発言  Yuki  - 09/4/21(火) 15:42 -

引用なし
パスワード
   ▼一年生 さん:
>こんにちは

  Dim i  As Long
  
  With Me.ListBox1
    For i = 1 To 12
      If i = 1 Then
        If .Value = i & "月" Then Cells(1, 15).Select
      Else
        If .Value = i & "月" Then Cells((i - 1) * 5, 15).Select
      End If
    Next
  End With

【61270】Re:検証して下さい。
発言  Yuki  - 09/4/21(火) 15:45 -

引用なし
パスワード
   >▼一年生 さん:
>>こんにちは

>  Dim i  As Long
>  
>  With Me.ListBox1
>    For i = 1 To 12
>      If i = 1 Then
>        If .Value = i & "月" Then Cells(1, 15).Select
         Exit For <=追加
>      Else
>        If .Value = i & "月" Then Cells((i - 1) * 5, 15).Select
         Exit For <=追加
>      End If
>    Next
>  End With

【61271】Re:検証して下さい。
質問  一年生  - 09/4/21(火) 16:29 -

引用なし
パスワード
   neptuneさん

Select Case とても勉強になりました。

Yukiさん

Cells((i - 1) * 5, 15).Selectの部分が
理解できないので、
申し訳ありませんが、詳しく教えて頂けないでしょうか?
宜しくお願い致します。


 

【61273】Re:検証して下さい。
発言  neptune  - 09/4/21(火) 21:58 -

引用なし
パスワード
   ▼一年生 さん:
Yukiさん ではありませんが、

>
>Cells((i - 1) * 5, 15).Selectの部分が
>理解できないので、
iは繰り返し処理によって1〜12に1ずつ増加します。
1の時
(1-1)*5 = 5 なので
cells(5,15)
となり、現在アクティブなシートのE15セルを意味します。

こんな所でわかりますか?

【61279】Re:検証して下さい。
お礼  一年生  - 09/4/21(火) 23:45 -

引用なし
パスワード
   neptuneさん
ご丁寧に有り難うございます。
大変、勉強になりました。
参考書を見ながら、基礎をしっかり
身に付けたいと思います。
有り難うございました。 
 

【61281】Re:検証して下さい。
発言  neptune  - 09/4/22(水) 9:10 -

引用なし
パスワード
   ▼一年生 さん:
すみません。引き算間違えてました。


一年生 さんは理解されたようですが、後の為に訂正しておきます。

1の時はキチンと別の処理しますね。
>1の時
>(1-1)*5 = 5 なので
>cells(5,15)
>となり、現在アクティブなシートのE15セルを意味します
↑は間違い
2以上の時、例えば2の時
(2-1)*5 = 5 なので
cells(5,15)
となり、現在アクティブなシートのE15セルを意味します。

すみませんでした。

【61282】有り難うございました。
お礼  一年生  - 09/4/22(水) 10:03 -

引用なし
パスワード
   neptuneさん
丁寧な説明有り難うございます。
あれから、neptuneさんの説明をふまえて
参考書と格闘しています。
有り難うございました。

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