Microsoft Excel VBA에서 정렬된 데이터 정렬 취소

Bilal Shahid 2024년2월15일
  1. VBA에서 정렬된 데이터를 정렬 취소하는 방법
  2. 방법 1: 증가하는 숫자 값으로 임시 열 유지
  3. 방법 2: MS Excel 도구 사용
  4. 방법 3: 데이터 백업 유지
  5. 결론
Microsoft Excel VBA에서 정렬된 데이터 정렬 취소

VBA는 사용자에게 다양한 기능과 기능을 제공하는 Microsoft Excel 응용 프로그램용 프로그래밍 언어입니다. 이 기사에서는 VBA에서 데이터 정렬을 해제하는 방법을 알려줍니다.

VBA에서 정렬된 데이터를 정렬 취소하는 방법

정렬은 MS Excel로 작업할 때 매우 일반적인 방법입니다. 데이터를 오름차순 또는 내림차순으로 정렬하여 일부 값의 최고값 또는 최저값을 계산하고 데이터를 구성하는 등의 작업을 수행할 수 있습니다.

Excel에서 정렬은 다음 중 하나를 통해 수행할 수 있습니다.

  1. MS Excel 정렬 및 필터링 옵션 사용
  2. VBA Range.Sort 방법 사용

그러나 이러한 작업을 수행하고 나중에 데이터를 원래 형식으로 되돌려야 한다는 것을 깨달을 수 있습니다. 표준 Ctrl+Z 실행 취소 옵션을 사용할 수 있지만 이것이 작동하지 않는 상황이 있습니다.

예를 들어:

  1. 엑셀 파일을 저장했다가 다시 열었다면.
  2. 일부 추가 변경 사항을 적용하고 이를 되돌리고 싶지 않은 경우 정렬만 제거하고 싶습니다.
  3. VBA 코드를 사용하여 정렬을 완료한 경우.

따라서 Excel 시트의 원래 데이터 구성으로 되돌리려면 이 제한을 해결하는 적절한 방법이 있어야 합니다. 그 방법들을 하나씩 살펴보자.

방법 1: 증가하는 숫자 값으로 임시 열 유지

이 방법을 사용하면 데이터의 원래 순서에 대한 참조를 유지하여 데이터를 정렬 해제할 수 있습니다. 예를 들어 이해해 봅시다.

시트에 다음 데이터가 있다고 가정합니다.

예제 데이터

이제 데이터의 원래 순서를 유지하기 위해 데이터를 추적하는 임시 열을 삽입할 수 있습니다. 즉, 일련 번호 값을 열에 저장합니다.

다음 두 가지 간단한 단계를 따르면 됩니다.

  1. 첫 번째 빈 열에서 처음 두 셀을 값 1과 2로 채웁니다.

    1단계

  2. 이 두 셀을 선택하고 오른쪽 하단에서 아래로 드래그하면 더하기 기호가 나타납니다. 증가하는 숫자 값으로 전체 열을 채웁니다.

    2단계

또는 VBA에서 다음 코드를 사용하여 이 임시 열을 만들 수 있습니다.

Sub CreateColumn()

For m = 2 To Cells(Rows.Count, "A").End(xlUp).Row
If Cells(m, "A").Value <> "" Then
Cells(m, "C").Value = m - 1
End If
Next m

End Sub

참고: 시트의 데이터에 따라 m 값과 열 이름을 변경해야 합니다.

이제 임시 열이 있으므로 원하는 모든 데이터를 정렬할 수 있으며 항상 이 상태로 되돌릴 수 있습니다. 예를 들어 다음 매크로를 실행하여 급여에 따라 데이터를 정렬해 보겠습니다.

Sub Sort()

Set sortRange = Range("A1:C6")
Set keyCell = Range("B1")
sortRange.Sort Key1:=keyCell, Order1:=xlAscending, Header:=xlYes

End Sub

이제 데이터가 다음과 같이 정렬됩니다.

정렬된 데이터

데이터 정렬을 해제하려면 정렬 코드를 다시 실행하면 됩니다. 이때 Key1을 임시 열로 유지하여 그에 따라 값이 정렬되도록 합니다. 우리는 이것을 다음과 같이 할 것입니다:

Sub Sort()

Set sortRange = Range("A1:C6")
Set keyCell = Range("C1")
sortRange.Sort Key1:=keyCell, Order1:=xlAscending, Header:=xlYes

End Sub

이제 데이터가 원래대로 정렬되지 않습니다.

정렬되지 않은 데이터

참고: VBA 코드 대신 메뉴의 MS Excel 정렬 및 필터 옵션을 사용하여 위의 예에서 정렬할 수도 있습니다.

방법 2: MS Excel 도구 사용

MS Excel은 다양한 옵션과 함께 일부 정렬 및 필터링 도구를 제공합니다. 정렬할 열과 순서를 지정할 수 있습니다.

예를 들어 급여에 따라 원본 데이터를 정렬하려는 경우 사용자 지정 정렬 정렬 옵션에서 다음을 선택할 수 있습니다.

사용자 정의 정렬

대부분의 MS Excel 버전에는 모든 정렬 및 필터링을 지우는 옵션이 있습니다. 이 옵션은 HOME > EDITING > SORT & FILTER > CLEAR를 통해 사용할 수 있습니다.

방법 3: 데이터 백업 유지

데이터 정렬을 해제하는 한 가지 방법은 Excel 파일의 백업 복사본을 보관하는 것입니다. 이것은 우발적인 오용의 경우에 매우 유용합니다.

정렬을 해제하고 싶을 때는 백업 파일을 참조하여 그곳에 저장된 raw data를 원래 순서대로 사용하시면 됩니다. 다음은 백업 파일을 만드는 몇 가지 방법입니다.

  1. 통합 문서의 별도 시트에 데이터를 복사하여 붙여넣습니다.
  2. 전체 Excel 파일의 복사본을 만듭니다.
  3. 매일 특정 시간에 사본을 생성하는 VBA 타임스탬프 매크로를 사용하여 백업 생성 프로세스를 자동화합니다. 이렇게 하면 때때로 백업을 수동으로 생성하기만 하면 됩니다.
  4. VBA를 사용하여 원본 파일과 동일한 위치에 백업 복사본을 만듭니다.
  5. VBA를 사용하여 다른 위치에 백업 복사본을 만듭니다. 다른 위치에 저장하면 실수로 데이터를 삭제하거나 지울 수 있습니다.

참고: 그에 따라 SaveSaveAs 방법을 사용하여 VBA를 사용하여 백업 복사본을 만들 수 있습니다.

결론

이것은 Microsoft Office 사용자의 소중한 시간을 절약해주는 유용한 프로그래밍 언어인 VBA에서 데이터를 정렬 해제하는 다양한 방법에 대한 논의를 요약한 것입니다. 논의한 방법은 다음과 같습니다.

  1. 증가하는 숫자 값으로 임시 열 유지
  2. MS Excel 도구 사용
  3. 데이터 백업 유지
작가: Bilal Shahid
Bilal Shahid avatar Bilal Shahid avatar

Hello, I am Bilal, a research enthusiast who tends to break and make code from scratch. I dwell deep into the latest issues faced by the developer community and provide answers and different solutions. Apart from that, I am just another normal developer with a laptop, a mug of coffee, some biscuits and a thick spectacle!

GitHub