2013-03-12 3 views
0

정렬되지 않습니다엑셀 2010 - LIST와 셀 I 세포를 정렬하려면 다음 코드를 사용하고

Sub RecordSort() 

Application.ScreenUpdating = False 
Application.DisplayAlerts = False 
ActiveSheet.Unprotect Password:="password" 

Dim lastrow As Long 
Dim ws As Worksheet 
lastrow = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row 

ActiveSheet.Sort.SortFields.Clear 
ActiveSheet.Sort.SortFields.Add Key:=Range(_ 
    "B3:B" & lastrow), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _ 
    xlSortNormal 

With ActiveSheet.Sort 
    .SetRange Range("A3:P" & lastrow) 
    .Header = xlGuess 
    .MatchCase = False 
    .Orientation = xlTopToBottom 
    .SortMethod = xlPinYin 
    .Apply 
End With 

ActiveSheet.Protect Password:="password" 
Application.ScreenUpdating = True 
Application.DisplayAlerts = True 

Range("A3").Select 
End Sub 

열 L에서 나는 5 개 코드로 드롭 다운 목록이 있습니다. 파일의 맨 아래에 셀을 추가 할 때 L 열에 드롭 다운이 있습니다. 위의 매크로를 사용하여 정렬하면 L 열에 드롭 다운 목록이 없습니다. 다른 방법이 있습니까? 나는 정렬해야합니까?

나는 열 B의 내용 (성)을 기준으로 열 A부터 P까지를 정렬합니다.

+0

정렬 후 목록을 만들거나 다시 만들어야 할 수도 있습니다. –

답변

2

데이터 유효성 검사가 셀 자체의 값이 아니라 셀 자체에 적용되기 때문입니다. 따라서 값을 정렬 할 때 데이터 유효성 검사는 원래 셀에 계속 적용됩니다. 가장 쉬운 방법은 전체 열을 선택하고 유효성 검사 규칙을 작성하여 전체 열 L에 데이터 유효성 검사 목록을 추가하는 것입니다.

+0

'이것을 몰랐습니다'아래에이 파일을 제출하십시오. 나는 당신의 충고를 받아 열 L에있는 모든 셀에'list' 함수를 추가했습니다. 단지 내가 추가 한 것이 아니라 잘 작동했습니다. 고맙습니다. –

+0

도와 드리겠습니다. 그것이 기뻤기 때문에 기뻤다! – Karter

관련 문제