집 >소프트웨어 튜토리얼 >사무용 소프트웨어 >내 Excel에는 세 개의 데이터 열이 있습니다.
하위 정렬1()
ActiveSheet.Sort.SortFields.Clear
ActiveSheet.Sort.SortFields.Add Key:=Range("A2:A" & Range("A1").CurrentRegion.Rows.Count) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveSheet.Sort.SortFields.Add Key:=Range("B2:B" & Range("A1").CurrentRegion.Rows.Count) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveSheet.Sort 사용
.SetRange 범위("A1:C" & 범위("A1").CurrentRegion.Rows.Count)
.헤더 = xlYes
.MatchCase = False
.방향 = xlTopToBottom
.SortMethod = xlPinYin
.신청
끝
끝 서브
엑셀 표의 A열에 0부터 11까지 총 12개의 숫자를 입력하고 B열에 해당하는 임의의 숫자 12개를 입력한 후 B열을 기준으로 정렬하면 A열의 숫자가 무작위로 정렬됩니다.
여기에서도 같은 아이디어가 사용되었지만 2차원 테이블이 2차원 배열로 대체되었습니다.딤 매트릭스(0 ~ 11, 0 ~ 1)를 단일로
Dim i를 정수로, j를 정수로
Dim sngTemp As Single
무작위화
'각 "행"의 첫 번째 숫자가 행 번호이고 두 번째 숫자가 임의의 크기 숫자가 되도록 배열을 초기화합니다
i = 0에서 11까지
행렬(i, 0) = i
행렬(i, 1) = Rnd(100)
다음
Text1.Text = ""
'배열이 작기 때문에 여기서는 버블 정렬을 사용하여 N번째로 큰 숫자를 필터링하고 Text1에 표시합니다
i = 0에서 11까지
j = i + 1에서 11
If Matrix(j, 1) > Matrix(i, 1) Then
sngTemp = 행렬(i, 1)
행렬(i, 1) = 행렬(j, 1)
행렬(j, 1) = sngTemp
sngTemp = 행렬(i, 0)
행렬(i, 0) = 행렬(j, 0)
행렬(j, 0) = sngTemp
끝나면
다음
Text1.Text = Text1.Text & vbCrLf & 행렬(i, 0)
다음
EXCEL VBA 매크로 언어 정렬 문제(그림 포함)
비공개 하위 CommandButton1_Click()
Dim i, j As Long
Sheets("sheet2").Cells.ClearContents
시트("sheet1").Cells.Copy
시트("sheet2").선택
시트("sheet2").범위("A1").선택
ActiveSheet.붙여넣기
나 = 3
Do While Sheets("sheet2").Range("A" & i).Value
""
j = 2 i - 1If Sheets("sheet2").Range("A" & i).Value > Sheets("sheet2").Range("A"& j).Value Then
그밖에
Sheets("sheet2").Rows(i & ":" & i).Cut
Sheets("sheet2").Rows(j & ":" & j).Insert Shift:=xlDown
종료
끝나면
다음제이
나 = 나 + 1
루프
끝 서브
질문 2
비공개 하위 CommandButton1_Click()
Dim i, j As Long
Sheets("sheet2").Cells.ClearContents
시트("sheet1").Cells.Copy
시트("sheet2").선택
시트("sheet2").범위("A1").선택
ActiveSheet.붙여넣기
나 = 3
Do While Sheets("sheet2").Range("A" & i).Value
""
j = 2 i - 1If Sheets("sheet2").Range("C" & i).Value & Sheets("sheet2").Range("D" & i).Value > Sheets("sheet2").Range("C" & j).Value & Sheets("sheet2").Range("D" & j).Value Then
그밖에
Sheets("sheet2").Rows(i & ":" & i).Cut
Sheets("sheet2").Rows(j & ":" & j).Insert Shift:=xlDown
종료
끝나면
다음제이
나 = 나 + 1
루프
끝 서브
위 내용은 내 Excel에는 세 개의 데이터 열이 있습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!