我的一个代码遇到了问题,希望你们中的一个能救我。
这是我的代码:
Private Sub cmdrecherche_Click()
Dim db As Range
Dim ligne As Integer
Dim L As Long
Dim Cd As Long
Dim Cf As Long
Dim maxc As Long
Dim maxl As Long
Dim cardispo As Integer
Set dispo = ActiveWorkbook.Sheets("Dispo")
Set booking = ActiveWorkbook.Sheets("booking")
maxc = dispo.Range("A1").End(xlToRight).Column
maxl = dispo.Range("A1").End(xlDown).Row
For Cd = 5 To maxc
If Format(CDate(dispo.Cells(1, Cd).Value), "mm-dd-yyyy") = Format(CDate (txtdepart), "mm-dd-yyyy") Then
For Cf = 5 To maxc
If Format(CDate(dispo.Cells(1, Cf).Value), "mm-dd-yyyy") = Format(CDate(txtfin), "mm-dd-yyyy") Then
For L = 2 To maxl
If IsEmpty(Range(dispo.Cells(L, Cd), dispo.Cells(L, Cf))) Then
cardispo = dispo.Range("A" & L).Value
listcar.AddItem cardispo
End If
Next L
End If
Next Cf
End If
Next Cd
End Sub
我从表格 2 中得到日期:txtdepart 和 txtfin。在工作表“dispo”中,每一列是一个日期,每一行是一辆汽车。如果汽车被某人使用,则 2 个日期之间的单元格将合并并着色。
如果它已经在 txtdepart 和 txtfin 之间使用,我希望这段代码检查每一行(所以对于每辆车)。如果没有,我会得到汽车的编号(A 列的值)并将其写入表单的列表框“listcar”中。
如果只检查 txtdepart,我就成功地使它工作,所以我的问题在 imo 范围内(cell1,cell2)。
任何想法 :) ?