Access VBA質問箱 IV

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

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


2217 / 2272 ツリー ←次へ | 前へ→

【3397】ラベル表示の切替 nana 04/9/3(金) 17:09 質問[未読]
【3399】Re:ラベル表示の切替 Gin_II 04/9/3(金) 17:43 回答[未読]
【3401】Re:「愛」が足りない クロ 04/9/4(土) 0:06 回答[未読]
【3403】Re:ラベル表示の切替 YU-TANG 04/9/4(土) 10:59 回答[未読]

【3397】ラベル表示の切替
質問  nana  - 04/9/3(金) 17:09 -

引用なし
パスワード
   ルール違反なのかもしれませんが、質問させてください。
別のサイトで下記の質問をしました。

『フォームを開いている月が4〜9月中ならばラベル1〜6が4月〜9月の表示になり、
10〜3月中なら10〜3月の表示に・・ということは可能でしょうか?』
と質問し、下記を教えていただきましたが、
Nextに対するForがありません。と、エラーになってしまいます。
どこをどのようにすればうまく動いてくれるのでしょうか?
どなたか、教えてください。

Private Sub Form_Open(Cancel As Integer)
Dim i As Long

  If Month(Date) >= 4 And Month(Date) < 10 Then
    For i = 1 To 6   
      Me.Controls("ラベル" & i).Caption = i + 3 & "月"   
    Next 
  Else
    For i = 1 To 6 
  If i < 4 Then   
      Me.Controls("ラベル" & i).Caption = i + 9 & "月"   
  Else    
      Me.Controls("ラベル" & i).Caption = i - 3 & "月"   
    Next 
  End If
End Sub

【3399】Re:ラベル表示の切替
回答  Gin_II  - 04/9/3(金) 17:43 -

引用なし
パスワード
   >『フォームを開いている月が4〜9月中ならばラベル1〜6が4月〜9月の表示になり、
>10〜3月中なら10〜3月の表示に・・ということは可能でしょうか?』

ラベルではなく、テキストボックスを使えばVBAを使う必要もないと思います。

たとえば、4月用であれば、
=IIF(Month(DateAdd("m", -3, Now())<=6),4,10)
のように。

【3401】Re:「愛」が足りない
回答  クロ  - 04/9/4(土) 0:06 -

引用なし
パスワード
   というのは冗談で...
Next i ではないでしょうか? (2カ所)

【3403】Re:ラベル表示の切替
回答  YU-TANG WEB  - 04/9/4(土) 10:59 -

引用なし
パスワード
   こんにちは、YU-TANG です。

>    Next
>  End If

For...Next ループと If 文が絡まっている上に、End If が足りませんよ。
下記が正解。

      End If
    Next
  End If

ただし Gin_II さんのアドバイスに妥当性があります。
これだけ見ると VBA を使う必要性はありません。
どこか 1 個のテキストボックスの [コントロールソース] に

=IIf(Month(Now()) Between 4 And 9,"4月〜9月","10〜3月")

…と記述して、残りのテキストボックスにそのテキストボックスを
参照させれば済む話に見えます。

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