snasui.com ยินดีต้อนรับ ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
Private Sub CobBox16_Change()
Dim i As Integer
If CobBox21.ListCount > 1 Then
For i = CobBox21.ListCount To 1 Step -1
CobBox21.RemoveItem i - 1
Next i
End If
CobBox21.Text = ""
Sheets("ข้อมูลบุลคล").Select ' Add this code
Range("K6").Select
If CobBox16 = "" Then Exit Sub
Do While Not IsEmpty(ActiveCell.Value)
If CDate(ActiveCell.Value) >= CDate(CobBox15.Text) And _
CDate(ActiveCell.Value) <= CDate(CobBox16.Text) Then
CobBox21.AddItem ActiveCell.Value
End If
ActiveCell.Offset(1, 0).Select
Loop
Sheets("cal_1").Select
Range("B13") = CDate(CobBox15)
Range("B14") = CDate(CobBox16)
End Sub
สำหรับ Code ที่ถามเป็นการประกาศตัวแปร i ให้เป็น Integer ครับ
การประกาศตัวแปรก็เพื่อให้จัดสรรหน่วยความจำให้เหมาะสม จะได้ไม่ใช้หน่วยความจำสิ้นเปลือง แต่ละตัวแปรจะใช้หน่วยความจำไม่เท่ากัน ดูเพิ่มเติมที่นี่ครับ Data type summary