|
3月に投稿したことがあるのですが、その時私の投稿に答えて
くださった方ですね。
また私の投稿にお答えいただきありがとうございます。
で、今回の投稿のお答えに早速試してみたのですが、
comboboxに日付がぜんぜん入っておらず、うまくいきません。
Userform1の中にComboBox1、ComboBox2、TextBox1しか貼り付けていません。
おかしな所があったらご指摘お願いします。
Option Explicit
Const strDateForm As String = "yyyy年m月d日(aaa)"
Private Sub UserForm1_Initialize()
Dim i As Long
Dim dtmFirst As Date
Dim dtmEnd As Date
dtmFirst = Date
dtmEnd = DateAdd("m", 3, dtmFirst)
With ComboBox1
For i = dtmFirst To dtmEnd
.AddItem Format(i, strDateForm)
Next i
End With
ComboBox2.Enabled = False
End Sub
Private Sub ComboBox2_Change()
TextBox1.Text = ChangeDateType(ComboBox2.Value) _
- ChangeDateType(ComboBox1.Value)
End Sub
Private Sub ComboBox1_Change()
Dim i As Long
Dim dtmFirst As Date
Dim dtmEnd As Date
dtmFirst = ChangeDateType(ComboBox1.Value)
dtmEnd = DateAdd("m", 3, dtmFirst)
With ComboBox2
.Enabled = True
.Clear
For i = dtmFirst To dtmEnd
.AddItem Format(i, strDateForm)
Next i
End With
End Sub
Private Function ChangeDateType(strValue As String) As Date
Dim lngPos As Long
If strValue <> "" Then
lngPos = InStr(1, strValue, "(", vbBinaryCompare)
ChangeDateType = CDate(Left(strValue, lngPos - 1))
End If
End Function
|
|