나는 True 또는 False 값을 제공하는 수식 =IF(L2=N2, IF(N2>0,TRUE, FALSE), FALSE)
이있는 열이있는 Excel 스프레드 시트를 가지고 있습니다. 이 스프레드 시트를 Excel에서 열면 오름차순으로 정렬되므로 올바르게 정렬됩니다. 녹음에서 반환 된 매크로는 다음과 같습니다.액세스에서 수식을 사용하여 Excel 열 정렬 자동화
ActiveWorkbook.Worksheets("Incorrect Items").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Incorrect Items").AutoFilter.Sort.SortFields.Add _
Key:=Range("X1:X2188"), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Incorrect Items").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
내가 이것을 액세스 권한으로 이전하면.
With WorkSheet
.AutoFilter.Sort.SortFields.Clear
.AutoFilter.Sort.SortFields.add _
Key:=.range("X1:X2188"), SortOn:=0, Order:=1, DataOption:=0
With .AutoFilter.Sort
.Header = 1
.MatchCase = False
.Orientation = 1
.SortMethod = 1
.Apply
End With
End With
코드는 오류가 반환에 잘 실행,하지만 xlSortOnValues
일정을 무시하고있는 것 같다과 열을 정렬하지 않습니다. 정렬 작업을하기 전에 값을 복사하여 붙여 넣을 수는 있지만 액세스가 아닌 Excel에서이 작업이 왜 작동하는지 알고 싶습니다.
내 정렬 후에 통합 문서를 저장하지 않으므로 정렬 후에 'Workbook.Save'를 추가하려고했지만 결과는 없습니다. 귀하의 질문은 나에게 다른 것을 시도하도록 촉구했으나 감사합니다. 이 작은 섹션이 실행되는 것 이상으로 계산을 수동으로 돌리고있었습니다. 정렬 전에 문제를 해결하기 위해 자동으로 되돌려 놓았지만 계산식을 수동으로 설정하고 스프레드 시트를 열어서 직접 수행 할 수 있습니다. – Zaider
게시 한 질문의 해결과 관련이 있습니까? 죄송합니다, 혼란 스럽습니다. – Smandoli
있습니다. 정렬 코드를 실행하기 전에 계산을 자동으로 되돌려 놓으면 스프레드 시트가 올바르게 업데이트됩니다. 흥미롭게도 이것은 수식이 들어있는 열을 정렬하고 값만 포함하는 열을 잘 정렬하는 데 필요합니다. – Zaider