Excel : 전체 시트의 모든 셀 값을 새 시트로 복사하고 단일 값의 단일 목록으로 정렬 및 중복 제거


0

내가 가지고있는 데이터 (모든 텍스트 값)는 시트에 흩어져 있으며 (간격이있는 여러 행과 열) 모두 수식을 사용하여 계산됩니다.

이제 고유 한 계산 된 값의 정확한 목록이 무엇인지 알고 싶습니다.

그래서 여기에 내가해야 할 일이 있습니다.

  • 새 시트 에만 값을 복사
  • 단일 목록으로 구성 (열)
  • 정렬 및 중복 제거

수퍼 유저에 오신 것을 환영합니다. 지금까지 시도한 내용과 왜 작동하지 않는지 알려주십시오.
Máté Juhász

답변:


1

다음과 같이 해보십시오.

Sub Garlic()
   Dim cl As Collection, sh1 As Worksheet, sh2 As Worksheet
   Dim r As Range, K As Long, v As Variant, i As Long
   Set cl = New Collection
   Set sh1 = Sheets("Sheet1")
   Set sh2 = Sheets("Sheet2")
   K = 1

   On Error Resume Next
      For Each r In sh1.UsedRange
         v = r.Value
         If v <> "" Then
            cl.Add v, CStr(v)
         End If
      Next r
   On Error GoTo 0

   For i = 1 To cl.Count
      sh2.Cells(K, 1).Value = cl.Item(i)
      K = K + 1
   Next i

   sh2.Range("A1").CurrentRegion.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlNo, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal

End Sub
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.