|
Humihiroのコードは、解説を待つとして、こんな考え方でやっています。
まだ全部はできていないのですが、・・・ようやくテキストボックスに一週間分書き出すことができました。
1 各月の1日のセルを探す。
2 1日の曜日を判定して、金曜日までの時間割を配列に格納。
3 テキストボックスに書き出す。
4 月曜日を取得して、第?月曜日 ←ここがわからない。
5 その日から金曜日までのセルの値を配列に格納
6 テキストボックスに書き出す。第?+週。
以下、月から金までの時間割を取得して、テキストボックスに書き出すコードです。
2次元配列ははじめてつかいました。
Private Sub UserForm_Initialize()
Dim myTxt As MSForms.Textbox
Dim myArray() As Variant
Dim myRng As Range
’1行目 日付
’2行目 曜日(weekday)関数により
'シート2のB3〜F8まで時間割があるとして
Set GETU = Worksheets("Sheet2").Range("B2")
If GETU.Value = 2 Then
Set myRng = GETU.Offset(1).Resize(6, 5)
myArray = myRng.Value
For j = 1 To 6
For i = 1 To 5
' Debug.Print myArray(j, i)
Set myTxt = Controls("TextBox" & j & i)
myTxt.Text = myArray(j, i)
Next i
Next j
End If
End Sub
|
|