내 Excel에는 세 개의 데이터 열이 있습니다.

王林
풀어 주다: 2024-01-23 09:06:07
앞으로
743명이 탐색했습니다.

내 Excel에는 세 개의 데이터 열이 있습니다.

세 개의 데이터 열이 있는 Excel이 있습니다. VB를 통해 정렬 기능을 구현하고 싶습니다

하위 정렬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

.신청

끝 서브

VB 배열 정렬 문제

엑셀 표의 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 매크로 언어 정렬 문제(그림 포함)

질문 1

비공개 하위 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 - 1

If 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 - 1

If 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:docexcel.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!