|
こんにちは。メイ子と申します。
いろいろ探してみましたが、どうしてもわかりませんでしたので、どなたかご教示お願いいたします。
曜日ごとや出席日だけ色を変えたかったので、カレンダーコントロールが使えないため、小さなラベルを7列6段分つなげて6ヶ月分(3ヶ月前〜2ヶ月後)作り、ラベル名をa1〜a42・・・f1〜f42としました。毎月同じフォームを使えるようにラベルの日にちはループでロードしたときにセットされます。
同じフォーム内に日付を入力するテキストボックス1があり、上記ラベルの一つをクリックすると、カレンダーコントロールのように日付が入力されるようにしたいのですが、ラベルには日にちだけ表示しているので、実際の年月日のデータはテキストボックス1に入りません。よって、配列変数に年月日のデータを入れるようにしてみましたが、例えば、ラベル「d14」をクリックしたときにその配列変数の(3,14)番目の値をテキストボックス1に入れられるようにするにはどうしたらよいでしょうか?
Private Sub form_load()
Dim tsuki(5) As String
tsuki(0) = "a"
tsuki(1) = "b"
tsuki(2) = "c"
tsuki(3) = "d"
tsuki(4) = "e"
tsuki(5) = "f"
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim p As Variant
Dim aaa As String
Dim bbb As String
j = 0
p = DateSerial(Year(DateAdd("m", -3, Date)), _
Month(DateAdd("m", -3, Date)), 1)
For j = 0 To 5
For i = Weekday(Month(DateAdd("m", -3 + j, Date)) & "/" & 1) _
To Day(DateSerial(Year(DateAdd("m", -2 + j, Date)), _
Month(DateAdd("m", -2 + j, Date)), 0)) + _
Weekday(Month(DateAdd("m", -3 + j, Date)) & "/" & 1) _
- 1
Me(tsuki(j) & i).Caption = Day(p)
aaa = aaa & "," & p
p = p + 1
Next i
p = DateSerial(Year(DateAdd("m", -3 + j + 1, Date)), _
Month(DateAdd("m", -3 + j + 1, Date)), 1)
bbb = bbb & "," & j
avarData = Array(Mid(bbb, 2), Mid(aaa, 2))
Next j
End Sub
↓ここで「イベントプロパティに指定した式読み込み時でエラーが発生しました。プロジージャの宣言がイベントまたはプロシージャの定義と一致していません」
というエラーがでます。
Private Sub d14_Click(ByRef avarData())
Me.ActiveControl.Value = avarData(3, 14)
End Sub
|
|