현재 위치 - 주공해몽공식사이트 - 관음보살의 랜덤 번호 뽑기 - Vba 를 정렬하는 방법

Vba 를 정렬하는 방법

EXCEL 의 표준 함수로는 일부 특수 정렬 요구 사항을 해결할 수 없습니다. 이때 VBA 를 사용하여 매핑할 수 있습니다. 예를 들어, 다음과 같은 원본 데이터 테이블이 있습니다.

이러한 원시 데이터를 기준으로 다음 그림과 같이 분류 요약 데이터 테이블을 작성합니다.

요구 사항은 일정 데이터가 변경될 때 요약 테이블이 자동으로 정렬되기를 바란다는 것입니다. 이러한 수요는 수동으로 자동 정렬할 수 없습니다. 이러한 요구 사항은 VBA 에만 의존 할 수 있습니다. 먼저 다음과 같은 정렬 프로그램을 컴파일합니다.

하위 정렬 ()

내 워크시트를 문자열로 조정

Dim arr( 1 ~ 3, 1 ~ 2)

I, j, k 를 정수로 표시합니다

Dim m m _ s1as string' 스토리지 스왑 영역 이름.

Dim m m _ S2 는 이중' 상점 교환으로 판매됩니다.

MYsheet = "합산 순위"

워크시트 (내 워크시트). 고르다

값을 배열로 읽습니다.

I = 1 ~ 3 의 경우

J = 1 ~ 2 의 경우

Arr(I, J) = Cells(I+1, J+1)

다음 J.

다음으로 저는

정리하다

I = 1 ~ 2 의 경우

J = I+1 ~ 3 의 경우

If arr(I, 2) < 그럼 arr(J, 2)

-응? M_S 1 = arr(I, 1)

-응? S2 = arr(I, 2)

-응? Arr(I, 1) = arr(J, 1)

-응? Arr(I, 2) = arr(J, 2)

-응? Arr(J, 1) = M_S 1

-응? Arr(J, 2) = M_S2

만약 ... 끝날거야

다음 J.

다음으로 저는

배열의 정렬 결과를 셀에 저장합니다.

I = 1 ~ 3 의 경우

셀 ((I+1), 2) = arr(I, 1)

다음으로 저는

끝단 접합

그런 다음 셀 내용 변경에 대한 이벤트 트리거를 작성합니다. 코드는 다음과 같습니다. (참고: 이 코드는 원본 데이터 테이블에 배치해야 합니다.)

개인 하위 워크시트 _change(ByVal 대상을 범위로)

목표가 있다면. 열< 그럼 = 4

-응? 분류

만약 ... 끝날거야

끝단 접합