私は2枚のシートを持っています:
-予約はフォーム ( car nr
、registration nr
、car model
、starting date
およびreturn date
) からデータを取得します。との値はregistration nr
、car model
vlookup によって dispo から取得されます)
- dispoは、実際には、最初の行と最初の 4 つの列にすべての日付car nr
( 、registration nr
、car model
および の日付) を 1 日ごとに含むカレンダーのみですtoday
。
私のプログラムは、フォームからのデータを「予約」に登録する必要があります(これは機能します)。次に、「dispo」に対応するセルを見つけ、その中にstarting date
「car nr
x」を入力します(実際には「x」が必要です"starting date
との間のすべてのセルreturn date)
。
今car nr
のところ、1に固定されています。これが私のコードです:
Private Sub cmdajout_Click()
Dim dispo As Worksheet
Dim booking As Worksheet
Dim db As Range
Dim ligne As Integer
Dim l As Long
Dim c As Long
Dim maxc As Long
Dim maxl As Long
Set dispo = ActiveWorkbook.Sheets("Dispo")
Set booking = ActiveWorkbook.Sheets("booking")
Set db = dispo.Range("A2:C35")
vehicule = 1
' find the first empty row
If Sheets("booking").Range("A2").Value = "" Then
ligne = 2
Else:
ligne = Sheets("booking").Range("A1").End(xlDown).Row + 1
End If
' copy the data from the form to "booking" and get by vlookup the missing data
booking.Range("A" & ligne).Value = vehicule
imma = Application.WorksheetFunction.VLookup(booking.Range("A" & ligne), db, 2, False)
booking.Range("B" & ligne).Value = imma
model = Application.WorksheetFunction.VLookup(booking.Range("A" & ligne), db, 3, False)
booking.Range("C" & ligne).Value = model
booking.Range("D" & ligne).Value = Format(txtdepart, "short date")
booking.Range("E" & ligne).Value = Format(txtfin, "short date")
booking.Range("F" & ligne).Value = txtclient
booking.Range("G" & ligne).Value = txtlocation
Unload Me
' book the date in the calendar "dispo"
dispo.Select
maxc = dispo.Range("A1").End(xlToRight).Column
maxl = dispo.Range("A1").End(xlDown).Row
For c = 5 To maxc
If dispo.Cells(1, c).Value = txtdepart Then 'it's here that i don't understant ... if i write = "05-01-2013" it finds it, but if i write = txtdepart (wich is where in the form i entered the date), it doesnt find
For l = 2 To maxl
If dispo.Range("A" & l).Value = vehicule Then 'same proble here ... it finds if i enter ="1" but not if i write = vehicule
dispo.Cells(l, c).Value = "x"
Else:
End If
Next l
Else:
End If
Next c
End Sub
- 私の問題を手伝ってくれる人はいますか?
starting date
との間のすべてのセルに「x」を入れるコードを誰かに教えてもらえますreturn date
か?