teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2016/06/16 02:16

投稿

kaz.Suenaga
kaz.Suenaga

スコア2042

answer CHANGED
@@ -20,4 +20,25 @@
20
20
 
21
21
  テストせず記憶で書いているのでどこか間違っているかもしれませんが、ラベル名が連番になっている前提で上記のようなコードでいいのではないでしょうか。
22
22
 
23
- ※ただし、初期値が8以降、つまり終わりまでの間に12月→1月という表示がある場合はそれを踏まえた書き方をする必要があります。13月にならないように。
23
+ ※ただし、初期値が8以降、つまり終わりまでの間に12月→1月という表示がある場合はそれを踏まえた書き方をする必要があります。13月にならないように。
24
+
25
+
26
+ ----
27
+ # 追記
28
+
29
+ ```VBA
30
+ Private Sub cmb期_AfterUpdate()
31
+ Dim i As Long ' ループ変数
32
+ Dim lngStart As Long ' 初期値
33
+
34
+ Const H1 = "01"
35
+ Const H2 = "07"
36
+
37
+ If Me!cmb期.Value = H1 OR Me!cmb期.Value = H2 Then ' 一応正しい選択肢なのかだけチェック
38
+ lngStart = CLng(Me!cmb期.Value) ' この時点で lngStart は 1 か 7なはず
39
+ For i = 0 to 5
40
+ Forms![メインフォーム名]![サブフォーム名].Form.Controls("label月_" & CStr(i+1)).Caption = CStr(lngStart + i) & "月" ' ラベルを変数を利用して指定、月を初期値+ループ変数として指定
41
+ Next
42
+ End If
43
+ End Sub
44
+ ```