나는 년을 제대로 인식하지 못하는 것에 문제가있다. NP, 그것은 2014 년 박았 : 여기 년 n + 1 <년 n excel vba에서
은 열 D는dd-mm-yy
가
셀 코드가 날짜별로 정렬 순서 필요
(1,10) = now()
이 형식의 날짜 가득 내 코드
' Sort value
max = Sheets("booking").Cells(Rows.count, "A").End(xlUp).Row
Range("A1:H" & max).Select
ActiveWorkbook.Worksheets("Booking").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Booking").Sort.SortFields.Add Key:=Range("D2:D" & max) _
, SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Booking").Sort.SortFields.Add Key:=Range("A2:A" & max) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Booking").Sort
.SetRange Range("A1:H" & max)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
' mark past booking in italic and in red if not validated
For L = 2 To max
If Format(CDate(booking.Cells(L, 5).Value), "dd-mm-yy") < Format(CDate(cells(1,10).value), "dd-mm-yy") Then
booking.Cells(L, 5).EntireRow.Font.Italic = True
If booking.Cells(L, 5).Offset(0, 3).Value = "" Then
booking.Cells(L, 5).EntireRow.Font.Color = vbRed
Else
booking.Cells(L, 5).EntireRow.Font.Color = vbBlack
End If
End If
Next L
입니다 2013 개 주문
BUT
대구를 앞 수주 e는 < 날짜에 기울임 꼴 형식을 적용합니다. 2014 주문은 과거로 간주되고 코드는 기울임 꼴로 표시합니다.
무엇이 잘못 되었나요?
날짜를 비교하는 데 "형식"을 사용하면 안됩니다. 당신은 단지 할 필요가 없으며 아마 모든 것을 망칠 것입니다. – JMax